Нужно ли мне обновлять ядро? И как? [закрыто]

Вы используете только около 7,4 ГБ на / и имеете 79 ГБ свободно в LVM, так что да, вы можете создать новый LV для / (и еще один для / var ) и скопируйте в них файлы из / и / var. Для копий рекомендую использовать rsync .

например.с новыми / и / var, смонтированными как / target и / target / var:

rsync  --archive --sparse --one-file-system --delete-during --delete-excluded \
  --force --numeric-ids --hard-links / /var /target/

, необязательно, также используйте эти параметры:

--human-readable --human-readable --verbose --stats --progress

Вы можете повторять это так часто, как захотите, пока у вас не будет достаточно свободного времени для перезагрузки с одним пользователем mode и завершите процедуру, которая заключается в следующем:

  • перезагрузка в однопользовательский режим
  • mount / и / boot RW, если они еще не подключены RW
  • / target и / target / var как указано выше
  • один последний rsync как указано выше
  • для i в proc dev sys dev / pts boot; сделать mount -o bind / $ i / target / $ i; done
  • chroot / target
  • edit / etc / fstab и изменение устройства / uuid / labels для / и / var
  • run update-grub
  • exit
  • для i в proc sys dev / pts dev boot var /; сделать umount / target / $ i; done
  • reboot

Если после перезагрузки все работает нормально, вы можете добавить / dev / sda2 (старый корневой раздел) в LVM VG datvg .

При желании вы также можете создать LV для / boot (смонтированный как / target / boot ) и выполнить его rsync и т. Д. Вместе с / и / var (кроме удаления загрузки из для цикла вокруг mount -o bind , вам не нужен исходный / boot монтируется привязкой поверх / target / boot ).

Затем создайте LV для свопа, и вы можете добавить весь / dev / sda в LVM VG (удалите все разделы на sda, создайте / dev / sda1 и добавить это).


Альтернатива: Clonezilla великолепна!

Кстати, другой способ сделать это - загрузиться с компакт-диска Clonezilla или USB-накопителя, создать разделы LVM и использовать cz для клонирования / и / загрузки в LVM. Прошло много времени с тех пор, как я делал это в последний раз, поэтому я не могу точно вспомнить, но вам, вероятно, все равно придется смонтировать / target (и / target / var, / target / boot), выполнить привязку-монтирование и отредактировать fstab и update-grub .

Фактически, указанные выше циклы for скопированы и немного изменены из псевдонимов, созданных сценарием настройки для моего tftp -загрузочного образа clonezilla ... так что можно поспорить, что это необходимо.

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

alias prepare-chroot-target='for i in proc dev sys dev/pts ; do mount -o bind /$i /target/$i ; done'

Необязательное дополнительное чтение (пропаганда BTRFS)

Если вы не используете LVM, потому что вам нужно создать разделы для виртуальных машин (разделы и большинство других блоков -устройства быстрее, чем .qcow2 или необработанные файлы для виртуальных машин), я рекомендую использовать btrfs вместо LVM. Он намного более гибкий (и, IMO, проще в использовании), чем LVM - например, Увеличить (или уменьшить) выделение для подтомов - тривиально.

btrfs имеет очень полезную возможность выполнять преобразование на месте из ext3 или ext4 в btrfs.

К сожалению, на этой вики-странице теперь есть предупреждение:

Предупреждение: Начиная с ядер 4.0 эта функция не часто используется и не тестируется, и были некоторые сообщения о том, что преобразование работает ненадежно. Не стесняйтесь попробовать, но убедитесь, что у вас есть резервные копии.

Вы можете выполнить преобразование на месте / , перенести свои каталоги / var / foobar * в btrfs, а затем добавить половину sdb в btrfs / (как зеркало RAID-1), а вторую половину используйте для дополнительного хранилища (также btrfs) или для LVM. Жаль, что у вас нет пары дисков одинакового размера.

Если вы решите не выполнять преобразование на месте (возможно, разумно), процедура будет аналогична описанному выше методу rsync и т. Д., За исключением того, что вместо создания разделов LVM для / target / {, boot, var} вы создаете том btrfs для / target и вложенные тома для / target / boot и / target / var . Вам понадобится отдельный раздел подкачки (или забудьте о подкачке диска и используйте zram , блочное устройство сжатого ОЗУ основного ядра.или добавьте больше ОЗУ, чтобы не менять местами. или и то, и другое.)

Но было бы проще сделать резервную копию ваших данных и файлов конфигурации, загрузить установочный компакт-диск или USB для вашего дистрибутива, переустановить с нуля (после тщательного планирования структуры разделов), а затем восстановить выбранные части ваша резервная копия (/ home, / usr / local, некоторые файлы конфигурации в / etc).


Дополнительное дополнительное чтение (ZFS Propaganda)

Учитывая ваши несовпадающие диски, btrfs, вероятно, будет лучшим выбором для вас, но я считаю невозможным упомянуть btrfs без упоминания ZFS:

Если вам нужно дать блокировку устройства к виртуальным машинам И хотите гибкости чего-то вроде btrfs И не возражайте против установки модуля ядра, отличного от основного, используйте ZFS вместо btrfs.

Он делает почти все, что делает btrfs (за исключением, к сожалению, перебалансировки. Вы можете только добавлять диски в пул, никогда не удалять их или изменять макет) плюс многое другое , и вы можете создавать ZVOL (блочные устройства, использующие хранилище из вашего пула), а также подтомы.

Установить ZFS в Debian или Ubuntu и некоторых других дистрибутивах сейчас просто - дистрибутивы предоставляют пакеты (включая spl-dkms и zfs-dkms для автоматической сборки модулей для ваши ядра). Сборка модулей dkms занимает утомительно много времени, но в остальном это так же просто и понятно, как установка любого другого набора пакетов.

К сожалению, преобразовать в ZFS не так просто, как описанная выше процедура. Преобразование rootfs в ZFS само по себе довольно сложная процедура.Как и в случае с btrfs , было бы проще сделать резервную копию ваших данных, файлов конфигурации и т. Д. И перестроить машину с нуля, используя дистрибутив с хорошей поддержкой ZFS (Ubuntu, вероятно, лучший выбор для ZFS в Linux на данный момент).

Хуже того, ZFS требует, чтобы все разделы или диски в vdev были одинакового размера (в противном случае vdev будет размером с наименьшее устройство в нем), поэтому вы можете добавить только sda и примерно половину sdb в zpool . остальная часть sdb может быть btrfs, ext4, xfs или даже LVM (что отчасти бессмысленно, поскольку вы можете создавать ZVOL с помощью ZFS).

Я использую ZFS в Debian (и очень рад, что ZFS наконец-то вошла в сам дистрибутив, поэтому я могу использовать собственные пакеты debian). Пользуюсь им уже несколько лет (как минимум с 2011 года). Настоятельно рекомендуется. Я просто хотел бы, чтобы у него была функция ребалансировки btrfs, которая была бы очень полезна сама по себе И открывала возможность удаления vdev из пула (в настоящее время невозможно с ZFS) или, возможно, даже преобразования из RAID-1 в RAIDZ-1.

Возможность btrfs выполнять онлайн-конверсии, например, из От RAID-1 до RAID-5, или от RAID-6, или от RAID-10 тоже неплохо, но я бы не стал его использовать. Я в значительной степени отказался от всех форм RAID-5 / RAID-6, включая RAID-Z ZFS (затраты на производительность И время очистки или повторной синхронизации просто не стоят того, IMO), и я предпочитаю RAID-1 или RAID-10 - я могу добавить столько виртуальных устройств RAID-1 в пул, сколько захочу и когда захочу (что эффективно преобразует RAID-1 в RAID-10 или просто добавляет больше зеркальных пар в существующий RAID-10).

В любом случае я широко использую ZVOL для виртуальных машин, поэтому btrfs мне не подходит.

-2
31.12.2014, 17:34
0 ответов

Теги

Похожие вопросы