Як перенести свій кореневий розділ LVM 250 Гб на новий жорсткий диск розміром 120 Гб?


18

У мене така ситуація:

Моя поточна установка Ubuntu (12.04) працює на зовнішньому жорсткому диску (250 ГБ), тому що мені було лінь купити новий внутрішній hdd. Тепер у мене є новий внутрішній (120 Гб), і я хочу все перенести на внутрішній. Встановлення Ubuntu new не обговорюється через те, що його потрібно покарати.

На щастя (я сподіваюся, що так) кореневий розділ розділений на LVM, тому я сподіваюся, що я можу перемістити розділ на менший внутрішній жорсткий диск.

Чи можливо це? І де я можу знайти допомогу?

EDIT: Це питання вже досить старе і може бути застарілим. Я додав версію Ubuntu, яка використовувалася тоді.


пов'язане питання - наведені вище відповіді недостатньо зрозумілі ...
MeSo2

вищевказані дві відповіді мені недостатньо зрозумілі. Так почалася нова посада.
MeSo2

Відповіді:


39

Як ви підозрюєте, це зробити надзвичайно елегантно, використовуючи LVM.

Стисніть існуючу установку, щоб помістити менший диск.

Фізично встановіть новий жорсткий диск, відформатуйте pvcreateйого та vgextendдодайте його до того ж vg, що і ваш кореневий розділ

Використовуйте pvmoveдля прозорого переміщення всіх даних від старого розділу

Використовуйте vgreduceдля видалення зовнішнього hd з вашого vg. Відключіть старий диск / dev / sdOLD.

У наведеному нижче прикладі:

  • /dev/sdOLD означає, що старий розділ потрібно замінити
  • /dev/sdNEW виступає за те, щоб новий розділ зайняв своє місце.
  • vgX означає групу гучності

Приклад: Звичайно, ви повинні бути на 100% впевнені, що використовуєте потрібні пристрої. Крім того, необхідне проведення повних та сучасних резервних копій, вилучених із системи.

pvcreate /dev/sdNEW
vgextend vgX /dev/sdNEW
pvmove /dev/sdOLD
vgreduce vgX /dev/sdOLD

Використовуйте update-grubта grub-installзробіть завантаження нового кореневого диска

Зроблено.


Було б добре, якби ви навели конкретні приклади.
isaaclw

12
Ах, це приємно голосуванням за дійсне прийняте повідомлення з корисною інформацією. Я навмисно НЕ наводив конкретного прикладу, оскільки небезпека полягає в тому, що хтось бездумно копіює та вставляє його та знищує його / її дані. Якщо ви щось робите з lvm, ви маєте змогу знайти вас, що ви маєте вказівки, які я даю.
Флойд

2
Працював і на Cento7. Наведених тут кроків було достатньо, щоб я трохи навчився і трохи гугл. Spot-on
терарі

centos: використовувати grub2-mkconfig -o "$ (readlink -e /etc/grub2.cfg)" ... звідси
terary

21

По-перше, якщо ви використовували весь диск 250 Гб для своєї поточної установки, вам потрібно буде зменшити його, щоб вмістити диск 120 Гб. Ви можете скорочувати файлову систему ext4 лише під час її відключення, тому вам потрібно буде завантажувати живу систему Ubuntu (CD або USB) або спеціалізовану систему технічного обслуговування, таку як GParted live . Ви можете використовувати resize2fsабо GParted для зміни розміру існуючої файлової системи.

Після того, як ви скоротили файлову систему (файли) вашої існуючої установки, щоб вмістити її на новий диск, ви можете виконати решту кроків, встановивши файлову систему, якщо хочете. Якщо існуюча файлова система поміститься на новому диску, ви можете виконати передачу, не знімаючи нічого або перезавантажуючи.

У нижченаведеному описі я покажу, як перейти від фізичного /dev/sdb1до фізичного об'єму /dev/sda1з існуючою групою томів oldvg. Обов’язково налаштуйте літери диска та номери розділів відповідно до вашої системи.

Щоб зробити пряму передачу:

  1. Розбити новий диск, використовуючи інструмент поділу на ваш вибір ( cfdisk, fdisk, parted...). Див. Наприклад, Як додати додатковий жорсткий диск?
  2. Створіть фізичний обсяг на новому диску: pvcreate /dev/sda1
  3. Додайте цей фізичний об'єм до наявної групи томів, що містить логічні томи, які потрібно перемістити: vgextend oldvg /dev/sda1
  4. Переміщення логічних томів від одного фізичного до іншого: pvmove /dev/sdb1 /dev/sda1
  5. Розділіть наявну групу томів на два: vgsplit oldvg newvg /dev/sda1

Інший метод - зробити наявний логічний об'єм дзеркальним об'ємом lvconvert --mirror, встановити дзеркало на новий диск, а потім розділити дзеркала lvconvert --splitmirrors. Таким чином, ви отримуєте дві копії своїх даних, і після розколу кожна копія веде своє власне життя.

Після того, як ви зробили копію, вам потрібно зробити новий диск завантажувальним. Для цього змонтуйте файлову систему. Припустимо, що він встановлений /mnt, запустіть ці команди як root:

chroot /mnt
# if the name of the volume group has changed, edit /etc/fstab
update-grub
grub-install /dev/sda

Або ви можете використовувати Clonezilla . Це потужний інструмент для маніпуляції дисками та клонування, і я думаю, що він охоплює вашу ситуацію, але я не маю цього досвіду.


1
Як відповідь, яка, по суті, говорить, pvadd, pvmove, pvremoveприймається через ЦЕ, - поза мною ...
останній

Набагато складне і не те, що йому потрібно
Флойд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.