смена файловой системы

11 November 2008 #ext3#reiserfs

На днях натолкнулся в сети на описание, как с убунты перешли на арчлинукс, решил посмотреть, что это такое и с чем его едят… Ставил как обычно – на виртуальную машину. Во время установки не мудрствуя лукаво выбрал файловую систему etx3, в отличие от используемой мной reiserfs, что стоит у меня на всех разделах, кроме бута… Причем стоит уже на протежении нескольких лет… Установка прошла гладко, довольно приятный дистр… Но тут я обратил внимание на то, что при команде ls вывод совершается тут же, без задержек…

Хмм… Странно как то… Сначала я подумал, что это именно особенность арча, потом подумав немного, решил, что все таки это особенность файловой системы… Просто не замечал раньше, как у меня при работе с файловой системой отклик идет с задержкой. То есть даем команду ls, проходит не больше секунды – и получаем вывод на экран, мелоч, но глазу заметно… Когда не работаешь с более быстрыми системами вообще не замечаешь этого…

Естественно полез в инет, смотреть особенности файловых систем, как и раньше встретил кучу инфы о том, что reiserfs очень шустрая и все такое… При этом обратил внимание на то, что переход с reiserfs на ext3 без форматирования не возможен.

Целый вечер зрел в голове план… И сегодня претворил его в жизнь… Так как home раздел в у меня отдельно от корневого, решил проэкспериментировать сначала именно с корневым. По крайней мере в случае неудачи можно будет просто систему заново поставить, документы остануться не тронутыми… Долго выбирал способ бэкапа… В итоге оказалось, что из двух вариантов – dump и tar, для reiserfs работает только tar… То есть и выбирать тут нечего…

Переходим в рута командой

$ sudo -s -H

и все дальнейшие операции совершаем уже от его имени… Даем команду

$ tar --one-file-system -cpf /home/user/root.tar --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /

В итоге получаем файл root.tar, который находиться в вашем домашнем каталоге, естественно вместо user писать свой логин… Расшфровку всех ключей давать не буду, если интересно, то man tar…

Затем грузимся с livecd, который предоставляет доступ к консоли от рута… Я использовал диск от archlinux, как раз в нем производиться загрузка в консоль с правами рута, и если необходима установка вручную запускается инсталяция… После загрузки создаем новую файловую систему:

$ mkfs.ext3 /dev/sda3

Монтируем ее в созданный каталог:

$ mount /dev/sda3 /mnt/disk

Монтируем home, чтобы получить доступ к архиву:

$ mount /dev/sda4 /mnt/home

И затем распаковываем то, что было в корне:

$ tar -xpf /mnt/home/user/root.tar -C /mnt/disk

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

$ mkdir proc
$ mkdir mnt
$ mkdir sys

Теперь отмонтируем:

$ umount /mnt/disk
$ umount /mnt/home

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

$ tune2fs -O +dir_index /dev/sda3
$ e2fsck -Df /dev/sda3

Можно перезагружаться и смотреть результат… С корнем я быстро разобрался, а вот с домашним разделом пришлось довольно долго ждать… Обьем информации там был большой. Пришлось позаимствовать у отца внешний винт на 640 гигабайт… Скопировал все то, что было крупным, типа фильмов, музыки, книг… Музыки оказалось только на 51 гиг… :(

Копировалось долго, порядка 2 часов потратил… Затем еще немного времени, для создания архива оставшихся настроек и документов…

Затем, уже довольно быстро сконертировал файловую систему, как уже описывал выше… проблем не возникло…

Хочется отметить, что reiserfs таки упаковывает хвосты файлов… До операции доки и настройки домашнего раздела занимали 4,8 гига, после конвертации файловой системы получил 7,2 гига… Очень много мелких файлов сыграли свою роль…

Что получили в итоге? Разница в быстродействии просто потрясающая!!! Я не представляю как проводили тесты с рейзером, что считают ее такой быстрой… Но ext3 это что-то!!! На глаз видна разница, причем существенная разница!!! Я потрясен!

Странно, что раньше я не обращал внимания на эту файловую систему… Конечно, места стало меньше, чем раньше, но не намного… Зато в быстродействии выигрышь просто обалденный!

Если вы еще используете reiserfs или выбираете, какую файловую систему использовать, то и думать нечего… Выбираем старую добрую ext3!