Synology DSM 3.0 на практике. Переход на ext4 без форматирования

В конце сентября Synology представила новую версию ОС своих дисковых накопителей — DiskStation Manager 3.0 (DSM 3.0). С августа, на этапе бета-версии, она была протестирована не только командой инженеров-тестеров Synology, но и более чем 15000 пользователей со всего мира. Среди ключевых изменений в NAS OS DSM 3.0 по сравнению с DSM 2.3:

  • Веб-панель управления превратилась в подобие ВебОС, с поддержкой многозадачности.
  • Поддержка файловой системы EXT4
  • Synology Time Backup — новый программный комплекс по резервированию данных, дает возможность автоматически резервировать папки и файлы на сетевом накопителе и восстанавливать их в необходимой версии. Работая в фоновом режиме, Synology Time Backup будет создавать систему бекапов, учитывающих историю изменения отслеживаемых файлов и каталогов. Используя скроллинг на шкале времени, можно просматривать историю версий файлов и восстанавливать нужную версию.
  • Ядро Linux 2.6.32.12
  • Поддержка Windows ACL
  • Полная поддержка iSCSI, DSM 3.0 имеет статус совместимости со стандартом SPC-3 PR отказоустойчивых кластеров Microsoft Windows Server 2008, VMware Virtual Machine File System (VMFS) и Oracle Cluster File System (OCFS)
  • Поддержка WebDAV
  • Поддержка IPv6
  • Увеличение производительности NFS от 10 до 40%

Остановимся подробнее на EXT4 и рассмотрим переход с EXT3 для устройства с уже используемым разделом, без форматирования и потери данных.

После перехода EXT4 будет использовать новые структуры только для новых данных, а старые при этом останутся неизменными. Итак, приступим.

Чтобы отмонтировать раздел с данными требуется сначала остановить использующие его сервисы:

ds410j> /usr/syno/etc/rc.d/S20pgsql.sh stop
ds410j> /usr/syno/etc/rc.d/S25download.sh stop
ds410j> /usr/syno/etc/rc.d/S66synoindexd.sh stop
ds410j> /usr/syno/etc/rc.d/S77synomkthumbd.sh stop
ds410j> /usr/syno/etc/rc.d/S80samba.sh stop
ds410j> /usr/syno/etc/rc.d/S88synomkflvd.sh stop
ds410j> /usr/syno/etc/rc.d/S97apache-sys.sh stop
ds410j> /usr/syno/etc/rc.d/S99ftpd.sh stop
ds410j> /usr/syno/etc/rc.d/S81atalk.sh stop
ds410j> /usr/syno/etc/rc.d/S97apache-user.sh stop
ds410j> /usr/syno/etc/rc.d/S99iTunes.sh stop
ds410j> /usr/syno/etc/rc.d/S82surveillance.sh stop
ds410j> /usr/syno/etc/rc.d/S97apache-webdav.sh stop
ds410j> /usr/syno/etc/rc.d/S21mysql.sh stop
ds410j> /usr/syno/etc/rc.d/S78iscsitrg.sh stop
ds410j> /usr/syno/etc/rc.d/S83nfsd.sh stop
ds410j> /usr/syno/etc/rc.d/S96synoaudiod.sh stop

Просмотрим список разделов и отмонтируем интересующий:

ds410j> df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/md0                  2.3G    423.0M      1.8G  18% /
/tmp                     61.5M      1.8M     59.7M   3% /tmp
/dev/md2                  1.8T      1.4T    439.5G  76% /volume1
ds410j> umount /volume1

Перед преобразованием файловой системы неплохо бы проверить ее на наличие ошибок:

ds410j> fsck.ext3 -pf /dev/md2

Добавляем к опциям файловой системы возможности EXT4 (dir_index доступна и для EXT3):

ds410j> tune2fs -O extents,uninit_bg,dir_index /dev/md2

После изменения файловой системы требуется повторно запустить проверку, она завершит изменения которые внесла утилита tune2fs:

ds410j> fsck.ext4 -yfD /dev/md2

Во время проверки будет много ошибок, это нормально.

После этого следует отредактировать /etc/fstab, сообщим ему что файловая система для раздела с данными теперь EXT4:

/dev/md2 /volume1 ext4 defaults 0 0

Перезагружаем дисковый массив:

nas1> reboot

После перезагрузки вывод mount должен выглядеть примерно так:

nas1> mount
...
/dev/md2 on /volume1 type ext4 (usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl)