
У меня есть домашний медиасервер Ubuntu с 4,5 ТБ, разделенными на несколько жестких дисков (1x3 ТБ, 2x1 ТБ), и я использую LVM2 для управления томами. Недавно я добавил SSD на 60 ГБ к своему серверу и хочу использовать его для размещения 'корневого' раздела моего сервера (который в настоящее время находится в группе LVM).
Я не хочу просто добавлять его в группу томов LVM, потому что (насколько мне известно) нет способа гарантировать, что SSD будет использоваться для корневой файловой системы. Если я просто брошу его в VG, он может быть использован для размещения моих носителей, что сведет на нет смысл наличия SSD в первую очередь.
Я чувствую, что мое единственное решение — это каким-то образом удалить мой корневой раздел из настройки LVM и скопировать его на SSD. Мой загрузочный раздел, конечно, не является частью группы LVM.
Моя конфигурация диска следующая:
60GB SSD: EMPTY.
1TB HDD: /boot, LVM space.
1TB HDD: LVM space.
3TB HHD: LVM space.
У меня есть несколько логических томов. Корневой том (/), том «медиа» для моей коллекции мультимедиа, резервный том для сетевых резервных копий и т. д.
Есть ли у кого-нибудь советы, как это сделать? Моя конечная цель — использовать SSD на 60 ГБ для загрузочного и корневого разделов, а все остальное — на жестких дисках на 3 ТБ/1 ТБ/1 ТБ.
решение1
Хотя этому вопросу уже пару лет, я оставлю следующее для справки: вы можете заставить LVM выделять экстенты из указанного физического тома при создании нового LV. Синтаксис следующий (вы найдете его более подробно в lvcreate(8)
):
lvcreate <options such as name, size, etc.> volumeGroup [physicalVolume]
Так, например, вы могли бы добавить SSD в свою группу томов, а затем сделать что-то вроде этого:
lvcreate -n rootOnSSD -L 60G yourVolGroup /dev/fastSSD
И это заставило бы LVM выделить эти 60 ГБ из экстентов на SSD.
Существуют расширенные параметры для указания диапазонов PE, из которых следует выделять память, даже внутри заданного физического тома, а также для указания размера LV как функции свободного пространства в заданном PV и т. д. См. флаг -l
в lvmcreate(8)
.
Если бы вы не использовали все экстенты в SSD, он был бы кандидатом всякий раз, когда новый LV должен был быть создан. Так что, наоборот, вам пришлось бы сделать что-то вроде этого
lvcreate -n hugeVolumeForMedia -L 1T yourVolGroup /dev/slowMedia [/dev/otherSlowMedia...]
если вы собираетесь создать новый логический том для большего объема памяти и хотите быть уверены, что ваш SSD не будет тратить на это место.
решение2
В конце концов я последовал указаниям Педро.
Обычно я в таких ситуациях загружаюсь с SystemRescueCD, создаю новые разделы, копирую содержимое старых на новые с помощью FSArchiver и, наконец, устанавливаю grub на новый диск. Обычно это довольно гладкая процедура.
Он ответил как комментарий, поэтому я не могу отметить это как ответ.
решение3
1.0 cfdisk
два раздела на SSD
1.1 (необязательный)создайте PV из незагрузочного раздела
1.2 mkfs
на корневом и загрузочном разделах
2.0 boot Knoppix (или что-то подобное), смонтируйте ваши файловые системы
2.1 rsync -av
/old/boot /new/boot и /old/root /new/root
3.0 grub
- запустить оболочку
3.1(необязательный)устройство (hd0) /dev/ssd
3.2 root (hd0,0) - где hd0,0 - загрузочный раздел SSD
3.3 install (hd0)
4.0 обновление /boot/grub.conf
5.0 загрузка.
6.0 удалить старые логические тома
Если этого недостаточно, дайте мне знать, и я проделаю еще несколько шагов или объясню их более подробно.