У мене є пул, який було створено в 2011 році lzjb compression
, і, лише через пару років, оновлення дозволило мені встановити компресію lz4
. Я вважаю, що принаймні 20% вмісту (за простором) в масиві було створено до 2013 року, а це означає, що він все ще стискається з використанням lzjb
.
Я можу придумати кілька варіантів, щоб виправити це та повернути (деякий) простір:
Створіть резервні копії та відновіть новий басейн. Насправді не практично, оскільки у мене немає достатнього резервного місця для зберігання тимчасової копії. Відновлення також вимагатиме відключення пулу протягом декількох годин.
Напишіть сценарій, щоб повторно скопіювати будь-який файл із часовою позначкою, старшою за 2013 рік. Потенційно ризиковано, особливо якщо він задихається пробілами чи іншими спеціальними символами та закінчується керуванням оригінальним іменем.
Чи є спосіб змусити ZFS повторно стискати застарілі блоки за допомогою поточного алгоритму стиснення? Наче схожий на скраб, але загоює стиснення.
Питання, пов'язане з цим: чи є спосіб побачити використання кожного типу алгоритму стиснення? zdb просто показує загальну статистику стиснення, а не розбиває їх на окремі алгоритми.
export LC_ALL=C
до початку сценарію, і всі спеціальні символи, що не належать до ASCII, у назви файлів збережуться неушкодженими. Залишаючи пробіл та тире недоторканим, використовуйте подвійні лапки та --
, наприклад cp -- "$SOURCE" "$TARGET"
.
--
) "складнішим". Це так само важливо, як уникати, наприклад, ін'єкції SQL.