Автор решил переставить один из жёстких дисков разделы которого отформатированы в Ext3-системе на машину с FreeBSD 10 и обеспечить доступность разделов для демона samba. С первой попытки ничего не получилось, но разобравшись с процессом, проблема была решена.

Дано: машина с работающей FreeBSD 10, дополнительный жёсткий диск с Linux-разделами Ext3.
Задача: обеспечить доступность Linux-разделов диска во FreeBSD для файловых и прочих сервисов без переформатирования диска в файловую систему ufs.
Решение:
Работа с файловыми системами, отличными от "родной" для FreeBSD - ufs, реализуется через модули. Для работы с ext*-системами требуется загрузка модуля ядра ext2fs, причём для корректного автомонтирования ext-разделов, загрузка модуля должна быть на ранней стадии.

Кратко, план работ будет таков:

  1. Проверить наличие модуля ext2fs.
  2. Настроить загрузку модуля на стадии инициализации ядра.
  3. Проверить автозагрузку модуля.
  4. Найти путь к разделам на диске.
  5. Опробовать ручное монтирование.
  6. Доустановить утилиты для работы с ext*-файловыми системами.
  7. Настроить автомонтирование через fstab.

Проверка наличия модуля ext2fs

Файлы модулей находятся в /boot/kernel . Проверяем наличие файла:

# ls -l /boot/kernel | grep ext2fs
-r-xr-xr-x  1 root  wheel    107955 Dec 28  2014 ext2fs.ko
-r-xr-xr-x  1 root  wheel    455093 Dec 28  2014 ext2fs.ko.symbols

Модуль присутствует - можно смело продолжать дальше. В ванильном (заводском) окружении ядра модуль уже присутствует.

Для автозагрузки модуля редактируем файл /boot/loader.conf и добавляем в него строку:

ext2fs_load="YES"

Перезагружаем машину и проверяем наличие загруженного модуля в памяти:

# kldstat
Id Refs Address    Size     Name
 1    3 0xc0400000 f55e40   kernel
 2    1 0xc1356000 15db4    ext2fs.ko

ext2fs.ko - в списке присутствует, значит загрузился.

Путь до разделов нового диска

С помощью команд dmesg, вычисляем как ядро обозвало диск и его разделы. Пример:

# dmesg
...
ada3: <WDC WD6400AAKS-22A7B2 01.03B01> ATA-8 SATA 2.x device
ada3: Serial Number WD-WCASY881413706
ada3: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes)
ada3: 610480MB (1250263728 512 byte sectors: 16H 63S/T 16383C)
ada3: Previously was known as ad16
...

Видно, что нужный диск обозвался как ada3. Выясняем его разделы:

# ls -l /dev |grep ada3
lrwxr-xr-x  1 root  wheel        4 Sep 11 21:26 ad16 -> ada3
lrwxr-xr-x  1 root  wheel        6 Sep 11 21:26 ad16s1 -> ada3s1
crw-r-----  1 root  operator  0x69 Sep 11 21:26 ada3
crw-r-----  1 root  operator  0x8d Sep 11 21:26 ada3s1

На диске имеется всего один раздел и обзывается как ada3s1. Пробуем его смонтировать в ручном режиме:

# mount -t ext2fs -o ro /dev/ada3s1 /mnt
# ls -l /mnt

Если файлы в /mnt появились, значит всё работает.

Утилиты для работы с ext*-системами

Прежде чем править fstab для настройки автомонтирования, рекомендую установить утилиты для работы с файловой системой ext*, если они ещё не были установлены (на факт отсутствия указывает невозможность запуска утилит fsck.ext2, fsck.ext2fs, fsck.ext3, fsck.ext4 - они не устанавливаются по умолчанию). Данные утилиты будут нужны в том случае, когда ext*-разделы некорректно отмонтируются и потребуется вызов fsck при запуске системы. Без утилит проверка не выполнится, загрузка системы остановится и будет выведено приглашение для входа в однопользовательский режим для последующей ручной проверки диска.

Установка из портов:

# cd /usr/ports/sysutils/e2fsprogs
# make install clean
# rehash 

После процедуры можно проверить наличие вышеописанных утилит

Настройка автоматического монтирования

Для автоматического монтирования достаточно отредактировать файл /etc/fstab и вписать туда строки с параметрами. Например:

/dev/ada4s1  /data/disk2   ext2fs  rw   2  2

В конце файла /etc/fstab нужно оставить пустую строку!

Далее можно перезагрузить машину и проверить правильность монтирования. Затем, если диск будет эксплуатироваться постоянно, то стоит ко всем файлам применить нужные права и новых владельцев учётных записей локальной машины. На этом настройка завершена.

Смотрите также

Печать/экспорт