Дефрагментація логічних обсягів LVM2


18

Питання: Чи існує інструмент, що підтримує дефрагментацію логічних томів LVM2? (Перетворення їх розширень у послідовні послідовності)

Переважно шляхом визначення бажаного порядку розширень (щось на кшталт "розділ A на початку диска, B після A, але X на кінці PV" )

Звичайно, слід враховувати такі випадки:

  • VG складається з одного ПВ
  • VG складається з багатьох PV, але кожен LV сидить на одному PV
  • VG складається з безлічі ПВ, НН мають розширення на багатьох ПВ

Чи можна розділити перегородки чи ні, можна обговорити.

Ноу-хау: Можна переміщати діапазони екстентів з pvmove, наприклад pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999.

Причина: Оскільки переміщення багатьох діапазонів вручну pvmove- це суто повторювана річ (сумнівно, якщо це без розуму чи ні), мені було цікаво, чи існує інструмент для автоматизації / підтримки цього процесу. Якщо ні ... можливо, роблю це сам - чи вважаєте ви, що такий інструмент був би корисним для інших людей?


Можливо, що інструменту немає, тому що немає жодного випадку використання, який цього вимагає. Мені цікаво, чому ви хочете дефрагментацію? Чи є дискова технологія, де є користь для типового розміру розміру (4 МБ)?
Жил "ТАК - перестань бути злим"

2
Розглянемо традиційні характеристики продуктивності HardDrive (не SSD) - початок диска пропонує кращу продуктивність, ніж кінець. Це найважливіший фактор, чому ви хочете, щоб розширення, пов’язані з деяким розділом, слід було розмістити на початку.
Grzegorz Wierzowiecki

1
Для такого типу управління простий спосіб - розділити диск на кілька фізичних томів.
Жил "ТАК - перестань бути злим"

1
Але з іншого боку, це робить більше безладу у конфігураційних файлах та всі налаштування менш гнучкими. Я вважаю, що такі рішення, як згадував @JimParis, LVM2 defragmenterабо pvmoveвиконують свою роботу.
Grzegorz Wierzowiecki

Відповіді:


9

Раніше я використовував дефрагментатор LVM2 . Це не найпростіший або найкраще написаний, але це робить трюк.


Виглядає цікаво. Мені потрібно спробувати.
Grzegorz Wierzowiecki

чи вважаєте ви, що цей дефрагмент може полегшити (на його основі) реалізувати / створити спосіб відновлення частково НН, як зазначено можливо (це було зроблено) тут serverfault.com/a/665826/163750 ?
Сила Водолія

1

Ну ще однією причиною дефрагментації було б зменшення шансів втрати даних при зменшенні логічного обсягу. Конкретна причина зменшення логічного обсягу - дозволити розширення / завантаження та подібні розділи на більш старий жорсткий диск комп'ютера MBR. У моєму випадку для оновлення з LTS 16.04.03 до LTS 18.04.1 потрібно більше 500 Мб, виділених / завантажуваним оригінальною установкою за замовчуванням.

Не читав тисячі рядків вихідного коду для lvm2, але частина онлайн-довідки / wiki натякає на те, що lvm2 використовує досить жорстоке скорочення, коли використовуються прямі процедури логічного зменшення обсягу - як якщо б файли були розподілені в області, звільненій від усадки вам, мабуть, знадобиться відновити цей список файлів (можливо, переслідування диких гусей саме по собі, якщо задіяні програмні чи системні пакети - або якщо список ваших користувацьких файлів дуже великий).

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