Найшвидший спосіб конвертувати диск із форматом ext4 в LVM з ext4 на ньому?


12

В даний час я роблю cp -aRкопію даних з мого (99% повного) 1 ТБ формату ext4 на новий диск LVM-з-ext4-на ньому. Це вічно.

Чи є якийсь спосіб спробувати "перетворити" диск на місце? Я на EC2, тому резервне копіювання займає кілька хвилин.

Або в якості альтернативи, чи може бути швидше, ніж cpбезпосередньо скопіювати файлову систему ext4 на диск LVM?

Відповіді:


23

Я написав блоки (née lvmify), які роблять це перетворення на місці. Він працює, трохи зменшивши файлову систему, перемістивши початок файлової системи до кінця розділу та скопіювавши суперблок LVM (попередньо налаштований з правою PV / LV / VG) на своє місце.


це звучить справді цікаво! Я думаю про резервне копіювання своїх 500 Гб на інший розділ (це вже lvm), просто щоб спробувати!
Сила Водолія

1
@Gabriel, чи буде це працювати в прямому ефірі? Я маю на увазі, чи потрібно мені демонтувати FS, а потім він робить це на місці, чи він навіть працюватиме на ар / ш змонтованому кореневому FS?
Гавриель

1
@AmrMostafa: "Досить" твердий? У мене є ця річ про моїх файлових системах, мені потрібно , щоб вони були рок твердий ... :-)
TJ Crowder

3
Користувачам Ubuntu Trusty + буде важко встановити потрібний python 3.3 .. доступно лише 3.4, а блоки не оновлювалися з грудня 2014 року: /
bksunday

1
Незважаючи на те, що він був оновлений 5 вух тому, він працював у сталі. Підтверджено на схемі розділів NVMe SSD, GPT. Примітка: краще використовувати Python 3.6.
Тош

2

Я не впевнений у тому, як перетворити диск наживо, але думаю, що rsync стане кращим і безпечнішим способом копіювання даних. Це дозволить відновити та зберегти цілісні дані у випадку, якщо передача припиниться.

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

"Отже, сьогодні я виявив дивовижне, що є LVM. Встановлюючи Debian, я вибрав" LVM - Використовуйте весь диск ". Але головним приводом був повільний і невеликий 5200 об / хв привід для ноутбука. Сьогодні я вставив запасний 1,5 ТБ диск і завантажився. система замість цього більш швидкого приводу.

LVM-підхід: додайте / dev / sdc до групи томів, а потім запустіть "pvmove / dev / sda". Це переміщує всі дані з sda на інші диски (доступний лише sdc). Не потрібно перезавантажувати, не потрібно демонтувати. Поки я пишу це, дані переміщуються.

Пізніше зробіть "vgreduce megatron / dev / sda", щоб видалити повільний диск із групи гучності та вуаля. Дані переміщено. (megatron - назва групи томів та мого комп’ютера). Це може бути давньою новиною для багатьох, але я просто подумав, що це дуже здорово :)

Зрозуміло, що це було зроблено на місцевому рівні, але я думаю, що за допомогою додаткових досліджень ви, можливо, зможете це виконати.

джерело


2

Не існує жодного методу, щоб зробити таке перетворення LVM "на ходу".

LVM насправді знаходиться у вашій файловій системі, щоб розширити її на декілька фізичних пристроїв або надати смугу чи дзеркало тощо. Останнім кроком у створенні логічного тома є встановлення над ним файлової системи. Ось приклади RHEL6.

Вам потрібно буде створити резервну копію або архівувати дані на цьому пристрої, потім знищити існуючу файлову систему, створити логічний том і знову встановити файлову систему зверху. Якщо це коренева файлова система в ОС Linux, подумайте про перевстановлення. Це може бути швидше.

Мені подобаються швидші копії, ddале я не використовую її часто. Зробити помилку ddнебезпечно. Можна спробувати одне, tar czv <source fs> | (cd <destination fs>; tar x)що передасть стиснений файл смоли на льоту.

Удачі!


1
Використання стиснення в режимі дьогтю взагалі не має сенсу. Єдине місце, де будуть стискатися дані, - це пам'ять під час передачі ; Потім він негайно знову стискається, перш ніж записується на диск. Тільки зараз ця операція генерує в кілька разів більше завантаження процесора, тому що це одночасно стискає і розтискає, марно, на ходу. Крім того, для будь-якої такої операції, що стосується цілих файлових систем, вам потрібно хоч tar cSf - | tar xvpf - би обробляти розріджені файли та дозволи. Можливо --selinuxтакож (якщо цільовий обсяг згодом замінить джерело).
FeRD

Це хороший момент, якщо ваші джерела та пристрої призначення знаходяться на одному хості або якщо у вас немає циклів процесорного запасу. Це моменти, які слід враховувати в кожному конкретному випадку. Мені подобаються перемикачі "S" і "p" і аргумент "--selinux".
dafydd

Ммм, ну якщо хтось клонує файлову систему, прокладаючи операцію "tar-fly" через мережеве посилання, тоді (a) вони сміливіші душі, ніж я, але (b) ви можете НЕ хотіти, -pякщо господарі не поділяться іменами користувачів / UID (хоча сторінка нагадує мені, що -pза замовчуванням для GNU tar при запуску як root), і --selinuxце загрожує ще більшою небезпекою - можливо, краще просто зробити restorecon -Rv(або -Rp) над усією справою, як тільки вона встановлена ​​в правильному (остаточному) ) Місцезнаходження.
FeRD

dd є належним інструментом для цієї операції, оскільки ви копіюєте розділ. dd зробить точну копію на новому розділі, тоді ви зміните fstab для завантаження з нового розділу замість старого. Після того, як ви закінчите переміщення всіх розділів зі старого диска, ви можете знищити файлову систему та додати диск до групи фізичних дисків LVM, а потім використовувати простір для розширення розділів, як хочете.
Xalorous
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.