1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380
|
=head1 НАЗВА
virt-sparsify — зробити диск віртуальної машини розрідженим
=head1 КОРОТКИЙ ОПИС
virt-sparsify [--параметри] вхідний_диск вихідний_диск
virt-sparsify [--параметри] --in-place диск
=head1 ОПИС
Virt-sparsify — інструмент, який може зробити диск віртуальної машини (або будь-який образ диска) розрідженим, тобто спеціально зменшеним. Це означає, що вільне місце в образі диска можна буде перетворити на вільне місце в основній системі.
Virt-sparsify може знаходити і розріджувати вільне місце у більшості файлових систем (наприклад у ext2/3/4, btrfs, NTFS тощо), а також у фізичних томах LVM.
Крім того, програма virt-sparsify може перетворювати диски з одного формату на інший, наприклад, перетворити образ диска у простому форматі (raw) на розріджений образ у форматі qcow2.
Virt-sparsify може працювати з будь-яким образом диска, не лише з образами віртуальних машин. Втім, якщо у вашій віртуальній машині декілька дисків і використано керування томами, virt-sparsify працюватиме, але не дуже ефективно (L<http://bugzilla.redhat.com/887826>).
=head2 ВАЖЛИВЕ ЗАУВАЖЕННЯ ЩОДО РОЗРІДЖЕНИХ ВИВЕДЕНИХ ОБРАЗІВ
Якщо вхідними даними є образ raw, буде виведено розріджені дані raw. B<Вам слід перевірити розмір виведених даних за допомогою інструмента, який обробляє розріджені дані>, наприклад C<du -sh>. Різниця може бути досить значною:
$ ls -lh test1.img
-rw-rw-r--. 1 rjones rjones 100M Aug 8 08:08 test1.img
$ du -sh test1.img
3.6M test1.img
(Порівняйте видимий розмір у B<100 МБ> зі справжнім розміром у B<3,6 МБ>)
=head2 ВАЖЛИВІ ОБМЕЖЕННЯ
=over 4
=item *
До використання цього інструмента віртуальну машину I<слід зупинити>.
=item *
Virt-sparsify може потребувати для роботи удвічі більшого місця на диску, ніж розмір початкового образу диска (1 тимчасова копія + 1 образ призначення). Ця оцінка є максимальною, і зазвичай потрібно набагато менше місця.
Якщо ви використовуєте параметр I<--in-place>, значні обсяги місця на диску для тимчасового зберігання даних B<не> знадобляться.
=item *
Virt-sparsify не може змінювати розміри образів дисків. Для зміни розмірів дисків скористайтеся L<virt-resize(1)>.
=item *
Virt-sparsify не може працювати із зашифрованими дисками. У libguestfs передбачено підтримку самих зашифрованих дисків, але зашифровані диски не може бути розріджено.
=item *
Virt-sparsify ще не може розріджувати місце між розділами. Зауважте, що це місце часто використовується для критичних даних, зокрема завантажувачів, тому, насправді, воно може бути зовсім не таким зайвим, як може здатися.
=item *
У режимі копіювання внутрішні знімки qcow2 не копіюються на образ призначення.
=back
Перш ніж розпочати користування цією програмою, вам також варто ознайомитися зі сторінками підручника щодо пов'язаних із нею інструментів, L<virt-filesystems(1)> та L<virt-df(1)>.
=head1 ПРИКЛАДИ
Типовий приклад використання:
virt-sparsify вхідний_диск вихідний_диск
Ця команда копіює C<вхідний_диск> на диск C<вихідний_диск>, роблячи результат розрідженим. Диск C<вихідний_диск> буде створено або перезаписано, якщо такий диск уже існує. Програма сама визначить формат вхідного диска (наприклад qcow2) і використає той самий формат для вихідного диска.
Для перетворення диска з одного формату на інший скористайтеся параметром I<--convert>:
virt-sparsify disk.raw --convert qcow2 disk.qcow2
Virt-sparsify намагається занулити і розрідити вільне місце на усіх файлових системах, які вдасться знайти на початковому образі диска. Ви можете наказати програмі ігнорувати (не занулювати вільне місце) певні файлові системи за допомогою такої команди:
virt-sparsify --ignore /dev/sda1 вхідний_диск вихідний_диск
Щоб отримати список файлових систем на образі диска, скористайтеся командою L<virt-filesystems(1)>.
Починаючи з версії virt-sparsify E<ge> 1.26, ви можете розріджувати образ диска на місці, ось так:
virt-sparsify --in-place disk.img
=head1 ПАРАМЕТРИ
=over 4
=item B<--help>
Показати довідкове повідомлення.
=item B<--check-tmpdir> B<ignore>
=item B<--check-tmpdir> B<continue>
=item B<--check-tmpdir> B<warn>
=item B<--check-tmpdir> B<fail>
Переконайтеся, чи достатньо вільного місця у каталозі, вказаному за допомогою змінної середовища L</TMPDIR> або параметра I<--tmp>, для завершення дії. Це лише оцінка.
Якщо під час перевірки буде виявлено проблему, ви можете піти одним з таких шляхів:
=over 4
=item *
B<ігнорувати> її,
=item *
вивести попередження і B<продовжити>,
=item *
B<попередити> і почекати, доки користувач натисне клавішу Enter (типова поведінка) або
=item *
B<вивести попередження про помилку> і завершити роботу.
=back
Цей параметр не можна поєднувати із параметром I<--in-place>.
=item B<--colors>
=item B<--colours>
Використовувати послідовності символів ANSI для розфарбовування повідомлень. Ці послідовності типово використовуються, якщо дані виводяться на термінал tty. Якщо дані, виведені програмою, спрямовуються до файла, послідовності визначення кольорів ANSI буде вимкнено, якщо ви не додасте до команди цей параметр.
=item B<--compress>
Стиснути файл виведених даних. Це працює, I<лише> якщо форматом виведення даних є C<qcow2>.
Цей параметр не можна поєднувати із параметром I<--in-place>.
=item B<--convert> raw
=item B<--convert> qcow2
=item B<--convert> [інші формати]
Використовувати C<формат виведення> як формат образу призначення. Якщо цей параметр не вказано, буде використано той самий формат, що і у вхідних даних.
Підтримуваними і працездатними форматами виведення є такі: C<raw>, C<qcow2>, C<vdi>.
Ви також можете скористатися будь-яким іншим форматом, підтримку якого передбачено у програми L<qemu-img(1)>, наприклад C<vmdk>, але підтримка інших форматів повністю залежить від можливостей qemu.
Зазвичай, варто визначати формат за допомогою I<--convert>, оскільки тоді virt-sparsify не доведеться вгадувати формат вхідних даних.
Скоригувати формат виведення даних можна за допомогою параметрів I<--compress>, I<-o>.
Цей параметр не можна поєднувати із параметром I<--in-place>.
=item B<--echo-keys>
Типово, якщо virt-sparcify попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.
=item B<--format> raw
=item B<--format> qcow2
Вказати формат образу диска вхідних даних. Якщо цей прапорець не вказано, його буде автоматично визначено на основі даних самого образу.
Якщо ви працюєте із образами дисків гостьових систем у форматі raw із ненадійних джерел, вам слід завжди вказувати назву формату.
=item B<--ignore> файлова_система
=item B<--ignore> група_томів
Ігнорувати вказану файлову систему.
Якщо не використовується I<--in-place>, вільне місце у файловій системі не буде занулено, але наявні нульові блоки все одно буде розріджено.
Якщо використовується I<--in-place>, файлову систему буде повністю проігноровано.
У другій формі команда призведе до ігнорування вказаної за назвою групи томів. Використовуйте назву групи томів без префікса F</dev/>, наприклад I<--ignore vg_foo>
Цей параметр можна вказувати декілька разів.
=item B<--in-place>
Виконати розрідження на місці замість розрідження копіюванням. Див. розділ L</РОЗРІДЖЕННЯ НА МІСЦІ> нижче.
__INCLUDE:key-option.pod__
__INCLUDE:keys-from-stdin-option.pod__
=item B<--machine-readable>
=item B<--machine-readable>=формат
За допомогою цього параметра можна зробити виведені дані придатнішими для обробки комп'ютером, якщо для цієї обробки використовуються інші програми. Див. L</ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ> нижче.
=item B<-o> параметр[,параметр,...]
Передати параметри I<-o> до програми L<qemu-img(1)> для коригування формату виведення даних. Перелік доступних параметрів залежить від формату виведення (див. I<--convert>) і встановленої версії програми qemu-img.
Вам слід скористатися I<-o> не більше одного разу. Щоб передати декілька параметрів, відокремте їх комами. Приклад:
virt-sparsify --convert qcow2 \
-o cluster_size=512,preallocation=metadata ...
Цей параметр не можна поєднувати із параметром I<--in-place>.
=item B<-q>
=item B<--quiet>
Цей параметр вимикає смужки поступу та інші необов'язкові до виведення дані.
=item B<--tmp> блоковий_пристрій
=item B<--tmp> каталог
Лише у режимі копіювання, використати вказаний за назвою пристрій або каталог як місце для тимчасової накладки (див. також L</TMPDIR> нижче).
Якщо як параметр вказано блоковий пристрій, блоковий пристрій буде записано безпосередньо. B<Зауважте, що при цьому з блокового пристрою буде повністю витерто наявні дані>.
Якщо як параметр вказано каталог, визначення параметра буде рівнозначним заданню значення змінної середовища L</TMPDIR>.
Цей параметр не можна поєднувати із параметром I<--in-place>.
=item B<--tmp> prebuilt:файл
Лише у режимі копіювання, спеціалізований параметр I<--tmp prebuilt:файл> (де C<prebuilt:> слід записувати буквально) наказує virt-sparsify використовувати як місце зберігання тимчасових даних файл qcow2 C<файл>.
=over 4
=item *
Файл B<має> бути наново форматовано як qcow2, а вхідний диск буде резервним файлом.
=item *
Якщо ви повторно запускатимете virt-sparsify, вам B<слід> повторно створювати файл перед кожним запуском.
=item *
Virt-sparsify не вилучає цей файл.
=back
Цей параметр використовується oVirt, де потрібен спеціальним чином форматований тимчасовий файл.
=item B<-v>
=item B<--verbose>
Увімкнути докладний показ повідомлень з метою діагностики.
=item B<-V>
=item B<--version>
Показати дані щодо версії і завершити роботу.
=item B<--wrap>
Wrap error, warning, and informative messages. This is the default when the output is a tty. If the output of the program is redirected to a file, wrapping is disabled unless you use this option.
=item B<-x>
Увімкнути трасування викликів програмного інтерфейсу libguestfs.
=item B<--zero> розділ
=item B<--zero> логічний_том
Занулити вміст вказаного за назвою розділу або логічного тому у гостьовій системі. Усі дані на пристрої буде втрачено, але буде досягнуто чудової розрідженості! Цей параметр можна вказувати в одній команді декілька разів.
=back
=head1 РОЗРІДЖЕННЯ НА МІСЦІ
Починаючи з virt-sparsify E<ge> 1.26, програма може виконувати розрідження на місці (замість копіювання з вхідного диска до вихідного диска). Таке розрідження є ефективнішим. Втім, за його використання не можна отримати більше місця у основній системі, якщо порівнювати із розрідженням із копіюванням.
Щоб скористатися цим режимом, вкажіть образ диска, який буде змінено на місці:
virt-sparsify --in-place disk.img
Деякі параметри несумісні із цим режимом: I<--convert>, I<--compress> і I<-o>, оскільки їхнє використання вимагає загальної зміни формату диска; I<--check-tmpdir>, оскільки великі обсяги для зберігання тимчасових даних не потрібні.
Розрідження на місці працює завдяки підтримці відкидання (або обрізання чи скасування отримання пам'яті).
=head1 ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ
Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-sparcify з інших програм, графічних інтерфейсів тощо.
Існує два способи використання цього параметра.
Спочатку, скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-sparcify. Типово виведені дані виглядатимуть якось так:
$ virt-sparsify --machine-readable
virt-sparsify
ntfs
btrfs
Виводиться список можливостей, по одній на рядок, і програма завершує роботу зі станом 0.
По-друге, можна скористатися цим параметром у поєднанні із іншими параметрами для того, щоб зробити звичайні виведені програмою дані придатнішими для подальшої машинної обробки.
У поточній версії це означає таке:
=over 4
=item 1.
Повідомлення смужки поступу можна обробляти зі стандартного виведення, шукаючи їх за таким формальним виразом:
^[0-9]+/[0-9]+$
=item 2.
Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до стандартного виведення, (окрім повідомлень смужки поступу) як повідомлення щодо стану. Ці повідомлення може бути записано до журналу і/або показано користувачеві.
=item 3.
Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до stderr як повідомлення про помилки. Крім того, virt-sparcify завершує роботу із ненульовим кодом стану, якщо станеться критична помилка.
=back
Підтримку параметра I<--machine-readable> передбачено у всіх версіях virt-sparsify.
Можна вказати рядок форматування для керування виведенням, див. L<guestfs(3)/РОЗШИРЕНЕ ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ>.
=head1 WINDOWS 8
«Швидкий запуск» Windows 8 може заважати роботі virt-sparsify. Див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.
=head1 ЗМІННІ СЕРЕДОВИЩА
=over 4
=item ТИМЧАСОВИЙ КАТАЛОГ
Розташування каталогу тимчасових даних, який використовуватиметься для потенційно великих тимчасових файлів-накладок.
У virt-sparsify E<ge> 1.28 ви можете перевизначити цю змінну середовища за допомогою параметра I<--tmp>.
На диску має бути достатньо вільного місця для найгіршого варіанта для повної копії початкового диска (I<віртуального> розміру). Якщо місця недостатньо, слід встановити для C<$TMPDIR> значення, яке вказує на інший каталог, де достатньо місця.
Типовим значенням є F</tmp>.
Зауважте, що якщо файловою системою у C<$TMPDIR> є tmpfs (наприклад, якщо файловою системою F</tmp> є tmpfs, або якщо ви використовуєте C<TMPDIR=/dev/shm>), типовим розміром tmpfs є максимальне значення I<половини> фізичної оперативної пам'яті. Якщо virt-sparsify знадобиться більше місця, програма просто «повисне». Якщо ви побоюєтеся такого перебігу подій, або скористайтеся реальним диском, або збільште максимальний розмір точки монтування tmpfs, наприклад так:
mount -o remount,size=10G /tmp
Якщо ви використовуєте параметр I<--in-place>, значні обсяги місця на диску для тимчасового зберігання даних B<не> знадобляться.
=back
Опис інших змінних середовища наведено у розділі L<guestfs(3)/ENVIRONMENT VARIABLES>.
=head1 СТАН ВИХОДУ
Ця програма повертає 0, якщо дію виконано без жодної помилки (це не обов'язково означає, що місце на диску звільнилося).
Ненульовий код виходу вказує на помилку.
Якщо повернуто код виходу C<3> і було використано параметр I<--in-place>, це означає, що у libguestfs не передбачено підтримки відкидання зайвого місця на диску, отже, доведеться користуватися режимом копіювання.
=head1 ТАКОЖ ПЕРЕГЛЯНЬТЕ
L<virt-df(1)>, L<virt-filesystems(1)>, L<virt-resize(1)>, L<virt-rescue(1)>, L<guestfs(3)>, L<guestfish(1)>, L<truncate(1)>, L<fallocate(1)>, L<qemu-img(1)>, L<http://libguestfs.org/>.
=head1 АВТОР
Richard W.M. Jones L<http://people.redhat.com/~rjones/>
=head1 АВТОРСЬКІ ПРАВА
Copyright (C) 2011-2023 Red Hat Inc.
|