File: virt-resize.1

package info (click to toggle)
libguestfs 1%3A1.44.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 118,932 kB
  • sloc: ansic: 458,017; ml: 51,424; sh: 13,191; java: 9,578; makefile: 7,931; cs: 6,328; haskell: 5,674; python: 3,871; perl: 3,528; erlang: 2,446; xml: 1,347; ruby: 350; pascal: 257; javascript: 157; lex: 135; yacc: 128; cpp: 10
file content (958 lines) | stat: -rw-r--r-- 60,410 bytes parent folder | download
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
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.40)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "virt-resize 1"
.TH virt-resize 1 "2021-01-05" "libguestfs-1.44.0" "Virtualization Support"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "НАЗВА"
.IX Header "НАЗВА"
virt-resize — програма для зміни розмірів дисків віртуальної машини
.SH "КОРОТКИЙ ОПИС"
.IX Header "КОРОТКИЙ ОПИС"
.Vb 3
\& virt\-resize [\-\-resize /dev/sdaN=[+/\-]<розмір>[%]]
\&   [\-\-expand /dev/sdaN] [\-\-shrink /dev/sdaN]
\&   [\-\-ignore /dev/sdaN] [\-\-delete /dev/sdaN] [...] вхідний_диск вихідний_диск
.Ve
.SH "ОПИС"
.IX Header "ОПИС"
Virt-resize — програма, за допомогою якої можна змінити розміри диска
віртуальної машини, зробивши його більшим або меншим чи змінивши розміри
розділів, які містяться на диску, або вилучивши їх.
.PP
Virt-resize \fBне може\fR змінювати розмір образів дисків «на
місці». Virt-resize \fBне слід\fR використовувати для активних віртуальних
машин — щоб отримати належний результат, перш ніж змінювати розміри дисків,
зупиніть роботу віртуальної машини.
.PP
Якщо ви ще не знайомі з принципами роботи пов'язаних інструментів,
\&\fBvirt\-filesystems\fR\|(1) і \fBvirt\-df\fR\|(1), рекомендуємо вам спершу ознайомитися
із документацією щодо цих інструментів.
.SH "ПРИКЛАДИ"
.IX Header "ПРИКЛАДИ"
.IP "1." 4
У цьому прикладі ми візьмемо \f(CW\*(C`старий_диск\*(C'\fR, змінимо його розміри і запишемо
як \f(CW\*(C`новий_диск\*(C'\fR, розширивши один із розділів гостьової системи на додаткові
5 ГБ:
.Sp
.Vb 1
\& virt\-filesystems \-\-long \-h \-\-all \-a старий_диск
\& 
\& truncate \-r старий_диск новий_диск
\& truncate \-s +5G новий_диск
\& 
\& # Зауважте, що «/dev/sda2» є розділом у у файлі «старий_диск».
\& virt\-resize \-\-expand /dev/sda2 старий_диск новий_диск
.Ve
.IP "2." 4
Те саме, що і вище, але зі збільшенням розділу /boot на 200 МБ, з наданням
решти місця для /dev/sda2:
.Sp
.Vb 2
\& virt\-resize \-\-resize /dev/sda1=+200M \-\-expand /dev/sda2 \e
\&   старий_диск новий_диск
.Ve
.IP "3." 4
Як у першому прикладі, але із розширенням логічного тому на останньому
кроці. Саме цю команду типово використовують для гостьових систем Linux, де
використовується \s-1LVM:\s0
.Sp
.Vb 2
\& virt\-resize \-\-expand /dev/sda2 \-\-LV\-expand /dev/vg_guest/lv_root \e
\&   старий_диск новий_диск
.Ve
.IP "4." 4
Як у першому прикладі, але дані буде виведено у форматі qcow2, а не у
простому (raw) форматі:
.Sp
.Vb 2
\& qemu\-img create \-f qcow2 \-o preallocation=metadata newdisk.qcow2 15G
\& virt\-resize \-\-expand /dev/sda2 olddisk newdisk.qcow2
.Ve
.SH "ДОКЛАДНІШЕ ЩОДО ВИКОРИСТАННЯ"
.IX Header "ДОКЛАДНІШЕ ЩОДО ВИКОРИСТАННЯ"
.SS "РОЗШИРЕННЯ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ"
.IX Subsection "РОЗШИРЕННЯ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ"
.IP "1. Припиніть роботу віртуальної машини" 4
.IX Item "1. Припиніть роботу віртуальної машини"
.PD 0
.IP "2. Встановіть розташування образу диска із вхідними даними" 4
.IX Item "2. Встановіть розташування образу диска із вхідними даними"
.PD
Встановіть розташування образу диска із вхідними даними (тобто файла або
пристрою у основній системі, де містяться дані диска гостьової
системи). Якщо гостьовою системою керує libvirt, ви можете скористатися для
визначення назви образу диска командою \f(CW\*(C`virsh dumpxml\*(C'\fR, ось так:
.Sp
.Vb 4
\& # virsh dumpxml guestname | xpath /domain/devices/disk/source
\& Знайдено 1 вузли:
\& \-\- NODE \-\-
\& <source dev="/dev/vg/lv_guest" />
.Ve
.IP "3. Визначте поточні розміри" 4
.IX Item "3. Визначте поточні розміри"
Скористайтеся програмою \fBvirt\-filesystems\fR\|(1) для перегляду списку поточних
розділів і їхніх розмірів:
.Sp
.Vb 5
\& # virt\-filesystems \-\-long \-\-parts \-\-blkdevs \-h \-a /dev/vg/lv_guest
\& Name       Type       Size  Parent
\& /dev/sda1  partition  101M  /dev/sda
\& /dev/sda2  partition  7.9G  /dev/sda
\& /dev/sda   device     8.0G  \-
.Ve
.Sp
(У цьому прикладі маємо справу з віртуальною машиною з диском у 8 ГБ, який
ми хочемо розширити до 10 ГБ).
.IP "4. Створіть диск для виведення даних" 4
.IX Item "4. Створіть диск для виведення даних"
Virt-resize не може виконувати внесення змін до дисків «на місці». У вашій
системі має бути достатньо місця для зберігання диска\-результату зі зміненим
розміром.
.Sp
Для збереження образу диска зі зміненим розміром створіть файл відповідного
розміру:
.Sp
.Vb 2
\& # rm \-f outdisk
\& # truncate \-s 10G outdisk
.Ve
.Sp
Або скористайтеся \fBlvcreate\fR\|(1) для створення логічного тому:
.Sp
.Vb 1
\& # lvcreate \-L 10G \-n lv_name vg_name
.Ve
.Sp
Або скористайтеся \fBvirsh\fR\|(1) vol-create-as для створення тому сховища даних
libvirt:
.Sp
.Vb 2
\& # virsh pool\-list
\& # virsh vol\-create\-as poolname newvol 10G
.Ve
.IP "5. Зміна розміру" 4
.IX Item "5. Зміна розміру"
virt-resize має отримати два обов'язкових параметри, назву диска із вхідними
даними і назву диска із вихідними даними (обидві можуть бути, наприклад,
пристроями, файлами або адресами на віддаленому диску). Диском з виведеними
даними має бути диск, створений на попередньому кроці.
.Sp
.Vb 1
\& # virt\-resize indisk outdisk
.Ve
.Sp
Ця команда просто копіює образ диска \f(CW\*(C`indisk\*(C'\fR до образу диска \f(CW\*(C`outdisk\*(C'\fR
\&\fIбез\fR зміни розмірів або будь\-яких змін у наявних розділах. Якщо диск
\&\f(CW\*(C`outdisk\*(C'\fR є завеликим для даних, створюється додатковий порожній розділ
наприкінці диска, розмір якого відповідатиме зайвому місцю. Якщо диск
\&\f(CW\*(C`outdisk\*(C'\fR виявиться замалим, програма повідомить про помилку.
.Sp
Реалістичнішим буде варіант, коли вам потрібно розширити наявні розділи на
образі диска передаванням додаткових параметрів (повний список параметрів
наведено у розділі \*(L"ПАРАМЕТРИ\*(R" нижче).
.Sp
\&\*(L"\-\-expand\*(R" є найкориснішим параметром. За його допомогою можна розширити
вказаний за назвою розділ на диску так, щоб він зайняв усе зайве місце:
.Sp
.Vb 1
\& # virt\-resize \-\-expand /dev/sda2 indisk outdisk
.Ve
.Sp
(У цьому випадку наприкінці диска \fIне\fR створюватиметься додаткових
розділів, оскільки невикористаного місця просто не буде).
.Sp
\&\*(L"\-\-resize\*(R" — ще один широковживаний параметр. Наступна команда збільшить
розмір /dev/sda1 на 200 МБ і розширить /dev/sda2 так, щоб той заповнив решту
доступного місця:
.Sp
.Vb 2
\& # virt\-resize \-\-resize /dev/sda1=+200M \-\-expand /dev/sda2 \e
\&     indisk outdisk
.Ve
.Sp
Якщо на розширюваному розділі у образі міститься файлова система або
фізичний том \s-1LVM,\s0 тоді, якщо virt-resize відомий спосіб, програма змінить
розміри вмісту так, як це роблять виклики команд \fBpvresize\fR\|(8),
\&\fBresize2fs\fR\|(8), \fBntfsresize\fR\|(8), \fBbtrfs\fR\|(8), \fBxfs_growfs\fR\|(8) або
\&\fBresize.f2fs\fR\|(8). Втім, virt-resize не відомі способи зміни розмірів деяких
файлових систем, тому вам доведеться якось змінювати їхні розміри після
завантаження гостьової системи.
.Sp
.Vb 1
\& # virt\-resize \-\-expand /dev/sda2 nbd://example.com outdisk
.Ve
.Sp
Диском із вхідними даними може бути адреса, якщо як джерело слід використати
віддалений диск. Формат адреси є сумісним із
guestfish. Див. \*(L"ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА\*(R" in \fBguestfish\fR\|(1).
.Sp
Інші параметри описано нижче.
.IP "6. Перевірка" 4
.IX Item "6. Перевірка"
Виконайте належне тестування нового образу диска, \fIперш ніж\fR витирати
старий.
.Sp
Якщо ви користуєтеся libvirt, внесіть зміни до \s-1XML\s0 так, щоб він вказував на
новий диск:
.Sp
.Vb 1
\& # virsh edit назва_гостьової_системи
.Ve
.Sp
Змініть <source ...>,
див. http://libvirt.org/formatdomain.html#elementsDisks
.Sp
Далі, запустіть домен з новим диском, розмір якого було змінено:
.Sp
.Vb 1
\& # virsh start назва_гостьової_системи
.Ve
.Sp
і перевірте, чи все лишається працездатним. Див. також додаткові зауваження
у розділі \*(L"ПРИМІТКИ\*(R" нижче.
.IP "7. Зміна розмірів логічних томів та інших сховищ у гостьовій системі" 4
.IX Item "7. Зміна розмірів логічних томів та інших сховищ у гостьовій системі"
(Це завдання можна виконати без завантаження гостьової системи за допомогою
\&\fBguestfish\fR\|(1))
.Sp
Після завантаження гостьової системи у ній має з'явитися вільне місце,
принаймні для файлових систем, способи зміни розмірів яких відомі
virt-resize, та фізичних томів. Користувачеві, ймовірно, слід буде змінити
логічні томи у фізичних томах, а також змінити розміри типів файлових
систем, способи розширення яких не відомі virt-resize.
.SS "ЗМЕНШЕННЯ РОЗМІРІВ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ"
.IX Subsection "ЗМЕНШЕННЯ РОЗМІРІВ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ"
Зменшення розмірів є дещо складнішим завданням за збільшення. У цьому
розділі наведено лише загальний огляд.
.PP
По\-перше, virt-resize не робитиме спроб стиснути будь\-який вміст розділу
(фізичні томи, файлові системи). Користувачеві слід подбати про зменшення
розмірів вмісту до передавання диска на обробку до virt-resize, і
virt-resize перевірить, чи було стиснено вміст належним чином.
.PP
(Зменшення розмірів також можна виконати без завантаження системи за
допомогою \fBguestfish\fR\|(1))
.PP
Після стискання фізичних томів і файлових систем, вимкніть гостьову систему
і виконайте описані вище кроки 3 і 4 для розміщення нового образу диска.
.PP
Потім запустіть virt-resize із відповідними параметрами \fI\-\-shrink\fR і/або
\&\fI\-\-resize\fR.
.SS "ІГНОРУВАННЯ І ВИЛУЧЕННЯ РОЗДІЛІВ"
.IX Subsection "ІГНОРУВАННЯ І ВИЛУЧЕННЯ РОЗДІЛІВ"
Крім того, virt-resize надає вам зручний спосіб ігнорувати або вилучати
розділи при копіюванні з диска вхідних даних на диск вихідних
даних. Ігнорування розділу пришвидшує копіювання там, де вам все одно що
станеться із наявним вмістом розділу. Вилучення розділу вилучає його
повністю, але зауважте, що це також призводить до перенумерування усіх
розділів після вилучено, що може призвести до неможливості завантаження
деяких гостьових систем.
.SS "\s-1QCOW2\s0 І НЕРОЗРІДЖЕНІ ФОРМАТИ \s-1RAW\s0"
.IX Subsection "QCOW2 І НЕРОЗРІДЖЕНІ ФОРМАТИ RAW"
Якщо дисх вхідних даних записано у форматі qcow2, ймовірно, варто записати
вихідні дані теж у форматі qcow2. Крім того, virt-resize може перетворювати
дані з одного формату на інший «на льоту». Формат виведених даних просто
визначається форматом порожнього контейнера для виведення даних, який ви
надасте. Таким чином, щоб записати виведені дані у форматі qcow2,
скористайтеся такою командою:
.PP
.Vb 1
\& qemu\-img create \-f qcow2 \-o preallocation=metadata outdisk [розмір]
.Ve
.PP
замість команди truncate.
.PP
Так само, щоб отримати дані у нерозрідженому простому форматі (raw)
скористайтеся такою командою:
.PP
.Vb 1
\& fallocate \-l розмір вихідний_диск
.Ve
.PP
(у застарілих системах, де немає команди \fBfallocate\fR\|(1), скористайтеся
командою \f(CW\*(C`dd if=/dev/zero of=outdisk bs=1M count=..\*(C'\fR)
.SS "ЛОГІЧНІ РОЗДІЛИ"
.IX Subsection "ЛОГІЧНІ РОЗДІЛИ"
Розміри логічних розділів (тобто \fI/dev/sda5+\fR на дисках із таблицею
розділів \s-1DOS\s0) не може бути змінено.
.PP
Щоб розібратися у тому, що відбувається, по\-перше, слід пам'ятати, що один
із чотирьох розділів \fI/dev/sda1\-4\fR матиме тип розділу \s-1MBR\s0 \f(CW05\fR або
\&\f(CW\*(C`0f\*(C'\fR. Такий розділ називається \fBрозширеним розділом\fR. Для перегляду типу
розділу \s-1MBR\s0 скористайтеся \fBvirt\-filesystems\fR\|(1).
.PP
Логічні розділи містяться у розширеному розділі.
.PP
Розширений розділ може бути збільшено, але не може бути зменшено (це можна
зробити у примусовому режимі, але ми не радимо так робити). При копіюванні
розширеного розділу неявним чином копіюються усі логічні розділи, які на
ньому містяться. Virt-resize не зазирає до розширеного розділу, отже сліпо
копіює логічні розділи.
.PP
Вказати логічний розділ (\fI/dev/sda5+\fR) у рядку команди не можна. Якщо ви це
зробите, програма повідомить про помилку.
.SH "ПАРАМЕТРИ"
.IX Header "ПАРАМЕТРИ"
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
Показати довідкове повідомлення.
.IP "\fB\-\-align\-first\fR \fBauto\fR" 4
.IX Item "--align-first auto"
.PD 0
.IP "\fB\-\-align\-first\fR \fBnever\fR" 4
.IX Item "--align-first never"
.IP "\fB\-\-align\-first\fR \fBalways\fR" 4
.IX Item "--align-first always"
.PD
Вирівняти перший розділ, щоб підвищити швидкодію (див. параметр
\&\fI\-\-alignment\fR).
.Sp
Типовою поведінкою є використання параметра \fI\-\-align\-first auto\fR, який
вирівнює лише перший розділ, якщо це безпечно робити. Тобто, лише якщо
програмі достеменно відомо, як виправити завантажувач автоматично, і, у
поточній версії, лише для гостьових систем Windows.
.Sp
\&\fI\-\-align\-first never\fR означає, що пересування першого розділу ніколи не
відбуватиметься. Це найбезпечніший варіант. Скористайтеся ним, якщо після
зміни розмірів гостьова система відмовляється завантажуватися.
.Sp
\&\fI\-\-align\-first always\fR означає, що завжди відбуватиметься вирівнювання
першого розділу (якщо його треба вирівнювати). Для деяких гостьових систем
це може завадити роботи завантажувача, зробивши гостьову систему непридатною
до завантаження.
.IP "\fB\-\-alignment\fR N" 4
.IX Item "--alignment N"
Встановити вирівнювання розділів на межу \f(CW\*(C`N\*(C'\fR секторів. Типовою у
virt-resize < 1.13.19 було межа у 64 сектори. Після цієї версії типове
значення було змінено на 128 секторів.
.Sp
Якщо припускати розмір сектора у гостьовій системі у 512 байтів, ось
придатні значення для цього параметра:
.RS 4
.IP "\fI\-\-alignment 1\fR (512 байтів)" 4
.IX Item "--alignment 1 (512 байтів)"
Розділи буде розташовано поруч один із одним якомога ближче, але буде не
вирівняно. У деяких випадках це може призвести до жахливої втрати
швидкодії. Докладніший опис можна знайти на сторінці підручника щодо
\&\fBvirt\-alignment\-scan\fR\|(1).
.IP "\fI\-\-alignment 8\fR (4K)" 4
.IX Item "--alignment 8 (4K)"
Це мінімальне прийнятне вирівнювання для придатного значення швидкодії на
сучасних основних системах.
.IP "\fI\-\-alignment 128\fR (64K)" 4
.IX Item "--alignment 128 (64K)"
Таке вирівнювання надасть змогу скористатися непоганою швидкодією, якщо
основна система зберігається на високоякісних носіях для мережі.
.IP "\fI\-\-alignment 2048\fR (1M)" 4
.IX Item "--alignment 2048 (1M)"
Це стандартне вирівнювання, яке використовується в усіх нововстановлених
гостьових системах з приблизно 2008 року.
.RE
.RS 4
.RE
.IP "\fB\-\-colors\fR" 4
.IX Item "--colors"
.PD 0
.IP "\fB\-\-colours\fR" 4
.IX Item "--colours"
.PD
Використовувати послідовності символів \s-1ANSI\s0 для розфарбовування
повідомлень. Ці послідовності типово використовуються, якщо дані виводяться
на термінал tty.  Якщо дані, виведені програмою, спрямовуються до файла,
послідовності визначення кольорів \s-1ANSI\s0 буде вимкнено, якщо ви не додасте до
команди цей параметр.
.IP "\fB\-d\fR" 4
.IX Item "-d"
.PD 0
.IP "\fB\-\-debug\fR" 4
.IX Item "--debug"
.PD
(Застарілий: використовуйте замість нього \fI\-v\fR)
.Sp
Увімкнути показ діагностичних повідомлень.
.IP "\fB\-\-delete\fR РОЗДІЛ" 4
.IX Item "--delete РОЗДІЛ"
Вилучити вказаний за назвою розділ. Точнішим визначенням цієї дії буде «не
копіювати», оскільки virt-resize не вносить зміни до початкового образу
диска.
.Sp
Зауважте, що коли ви вилучаєте розділ, вилучаються і усі дані, які
зберігалися на ньому. Більше того, у результаті усі розділи за вилученим
\&\fIперенумеровуються\fR, що може призвести до неможливості завантаження
гостьової системи.
.Sp
Цей параметр можна вказувати декілька разів.
.IP "\fB\-\-expand\fR РОЗДІЛ" 4
.IX Item "--expand РОЗДІЛ"
Розширити вказаний за назвою розділ так, щоб він зайняв усе вільне місце
(місце, яке лишатиметься вільним після усіх інших вказаних вами змін у
розмірах).
.Sp
Якщо virt-resize відомий спосіб, програма розширить безпосередній вміст
розділу. Наприклад, якщо розділ є фізичним томом \s-1LVM,\s0 програма розширить
фізичний том так, щоб він зайняв усе місце (подібно до виклику
\&\fBpvresize\fR\|(8)). Якщо спосіб розширення виявиться невідомим virt-resize,
програма не чіпатиме вмісту розділу.
.Sp
У поточній версії virt-resize може змінювати розміри таких файлових систем:
.RS 4
.IP "\(bu" 4
Файлових систем ext2, ext3 і ext4.
.IP "\(bu" 4
Файлових систем \s-1NTFS,\s0 якщо libguestfs було зібрано з підтримкою \s-1NTFS.\s0
.Sp
Роботу файлової системи під час її останнього використання має бути
завершено у штатному режимі. Крім того, \fBntfsresize\fR\|(8) позначає файлові
системи зі зміненими розмірами як такі, що потребують перевірки, отже під
час першого наступного запуску Windows на розділі зі зміненим розміром буде
виконано перевірку диска.
.IP "\(bu" 4
Фізичні томи \s-1LVM.\s0 Зазвичай, virt-resize не змінює розміри вмісту фізичних
томів, втім, див. параметр \fI\-\-LV\-expand\fR. Користувач також може змінити
розміри логічних томів бажаним чином після завантаження системи.
.IP "\(bu" 4
Файлові системи btrfs, якщо libguestfs було зібрано із підтримкою btrfs.
.IP "\(bu" 4
Файлові системи \s-1XFS,\s0 якщо libguestfs було зібрано із підтримкою \s-1XFS.\s0
.IP "\(bu" 4
Розділи резервної пам'яті на диску Linux.
.Sp
Будь ласка, зауважте, що libguestfs \fIзнищує\fR наявний вміст розділу
резервної пам'яті на диску, відтворюючи його за допомогою \f(CW\*(C`mkswap\*(C'\fR, тому
такі розділи не слід використовувати, якщо гостьова система присипляється.
.IP "\(bu" 4
Файлові системи f2fs, якщо libguestfs було зібрано із підтримкою f2fs.
.RE
.RS 4
.Sp
Зауважте, що параметри \fI\-\-expand\fR і \fI\-\-shrink\fR не можна використовувати у
одній і тій самій команді.
.RE
.IP "\fB\-\-format\fR \fBraw\fR" 4
.IX Item "--format raw"
Вказати формат образу диска вхідних даних. Якщо цей прапорець не вказано,
його буде автоматично визначено на основі даних самого образу.
.Sp
Якщо ви працюєте із образами дисків гостьових систем у форматі raw із
ненадійних джерел, вам слід завжди вказувати назву формату.
.Sp
Зауважте, що цей параметр \fIне\fR впливає на формат виведених
даних. Див. \*(L"\s-1QCOW2\s0 І НЕРОЗРІДЖЕНІ ФОРМАТИ \s-1RAW\*(R"\s0.
.IP "\fB\-\-ignore\fR РОЗДІЛ" 4
.IX Item "--ignore РОЗДІЛ"
Ігнорувати вказаний за назвою розділ. По суті, це означає, що розділ
розміщується на диску призначення, але його вміст з початкового диска не
копіюється. Розділ лишатиметься порожнім (заповненим нулями).
.Sp
Цей параметр можна вказувати декілька разів.
.IP "\fB\-\-LV\-expand\fR ЛОГІЧНИЙ_ТОМ" 4
.IX Item "--LV-expand ЛОГІЧНИЙ_ТОМ"
Цій команді передається логічний том і, як останній крок, вона розширює цей
том так, щоб він зайняв усе вільне місце, яке доступне у групі
томів. Типовим використанням, якщо припускати, що ви працюєте із гостьовою
системою Linux із єдиним фізичним томом \s-1PV\s0 \fI/dev/sda2\fR і кореневим
пристроєм із назвою \fI/dev/vg_guest/lv_root\fR, є:
.Sp
.Vb 2
\& virt\-resize indisk outdisk \e
\&   \-\-expand /dev/sda2 \-\-LV\-expand /dev/vg_guest/lv_root
.Ve
.Sp
Ця команда спершу розширить розділ (і фізичний том), а потім розширить
кореневий пристрій так, що він займе усе наявне зайве місце на фізичному
томі.
.Sp
Розмір вмісту логічного тому також буде змінено, якщо virt-resize відомий
спосіб, як це зробити. Ви можете заборонити virt-resize змінювати розміри
вмісту за допомогою параметра \fI\-\-no\-expand\-content\fR.
.Sp
Скористайтеся \fBvirt\-filesystems\fR\|(1) для отримання списку файлових систем у
гостьовій системі.
.Sp
Ви можете вказати у одній команді цей параметр декілька разів, \fIале\fR сенсу
у цьому небагато, хіба що вказані вами логічні томи належать до різних груп
томів.
.IP "\fB\-\-machine\-readable\fR" 4
.IX Item "--machine-readable"
.PD 0
.IP "\fB\-\-machine\-readable\fR=формат" 4
.IX Item "--machine-readable=формат"
.PD
За допомогою цього параметра можна зробити виведені дані придатнішими для
обробки комп'ютером, якщо для цієї обробки використовуються інші
програми. Див. \*(L"ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ\*(R" нижче.
.IP "\fB\-n\fR" 4
.IX Item "-n"
.PD 0
.IP "\fB\-\-dry\-run\fR" 4
.IX Item "--dry-run"
.PD
Вивести резюме щодо дій, але не виконувати ці дії.
.IP "\fB\-\-no\-copy\-boot\-loader\fR" 4
.IX Item "--no-copy-boot-loader"
Типово, virt-resize копіює деякі сектори на початку диска (аж до початку
першого розділу). Найчастіше, у цих секторах міститься Master Boot Record
(\s-1MBR\s0) та завантажувач. Вони потрібні для того, щоб гостьова система
завантажувалася належним чином.
.Sp
Якщо ви вкажете цей прапорець, це початкове копіювання не
виконуватиметься. У цьому випадку може виникнути потреба у перевстановленні
завантажувача.
.IP "\fB\-\-no\-extra\-partition\fR" 4
.IX Item "--no-extra-partition"
Типово, virt-resize створює додатковий розділ, якщо буде виявлено зайве
невикористане місце після усіх змін розмірів. Скористайтеся цим параметром
для того, щоб запобігти створенню цього додаткового розділу. Якщо ви так
зробите, зайве місце буде недоступним, аж доки ви не запустите fdisk, parted
або якийсь інший інструмент поділу на розділи у гостьовій системі.
.Sp
Зауважте, що якщо зайвого місця виявиться менше за 10 МБ, додатковий розділ
не створюватиметься.
.IP "\fB\-\-no\-expand\-content\fR" 4
.IX Item "--no-expand-content"
Типово, virt-resize намагатиметься розширити безпосередній вміст розділів,
якщо програмі відомий спосіб виконати таке розширення (див. параметр
\&\fI\-\-expand\fR вище).
.Sp
Якщо ви вкажете параметр \fI\-\-no\-expand\-content\fR, virt-resize не виконуватиме
таких спроб.
.IP "\fB\-\-no\-sparse\fR" 4
.IX Item "--no-sparse"
Вимкнути розріджене копіювання. Див. \*(L"РОЗРІДЖЕНЕ КОПІЮВАННЯ\*(R" нижче.
.IP "\fB\-\-ntfsresize\-force\fR" 4
.IX Item "--ntfsresize-force"
Передавання параметра \fI\-\-force\fR до \fBntfsresize\fR\|(8) уможливить зміну
розмірів, навіть якщо диск \s-1NTFS\s0 буде позначено як такий, що потребує
перевірки коректності. Вам доведеться скористатися цим параметром, якщо ви
хочете змінити розміри гостьової системи Windows без потреби у завантаженні
Windows кожного разу між командами зміни розмірів.
.IP "\fB\-\-output\-format\fR \fBraw\fR" 4
.IX Item "--output-format raw"
Визначає формат виведеного образу диска. Якщо цей прапорець не вказано,
формат буде автоматично визначено на основі даних щодо образу диска.
.Sp
Якщо ви працюєте із образами дисків гостьових систем у форматі raw із
ненадійних джерел, вам слід завжди вказувати назву формату.
.Sp
Зауважте, що цей параметр \fIне створює\fR образ диска у визначеному
форматі. Цей параметр призначено лише для того, щоб libguestfs не намагалася
вгадати формат. Створити диск у належному форматі маєте ви
самі. Див. \*(L"\s-1QCOW2\s0 І НЕРОЗРІДЖЕНІ ФОРМАТИ \s-1RAW\*(R"\s0.
.IP "\fB\-q\fR" 4
.IX Item "-q"
.PD 0
.IP "\fB\-\-quiet\fR" 4
.IX Item "--quiet"
.PD
Не виводити резюме.
.IP "\fB\-\-resize\fR РОЗДІЛ=РОЗМІР" 4
.IX Item "--resize РОЗДІЛ=РОЗМІР"
Змінити розмір вказаного за назвою розділу (розширити або стиснути його)
так, щоб він мав вказаний розмір.
.Sp
\&\f(CW\*(C`РОЗМІР\*(C'\fR можна вказати як значення за модулем із додаванням суфікса b/K/M/G
на позначення байтів, кілобайтів, мегабайтів або гігабайтів, або як відсоток
від поточного розміру, або як відносну частку. Приклад:
.Sp
.Vb 1
\& \-\-resize /dev/sda2=10G
\&
\& \-\-resize /dev/sda4=90%
\&
\& \-\-resize /dev/sda2=+1G
\&
\& \-\-resize /dev/sda2=\-200M
\&
\& \-\-resize /dev/sda1=+128K
\&
\& \-\-resize /dev/sda1=+10%
\&
\& \-\-resize /dev/sda1=\-10%
.Ve
.Sp
Ви можете збільшити розмір будь\-якого розділу. Virt-resize розширить
безпосередній вміст розділу, якщо програмі відомий спосіб виконати таке
розширення (див. \fI\-\-expand\fR вище).
.Sp
\&\fIЗменшити\fR розмір розділів, які містять файлові системи або фізичні томи,
можна лише якщо ці файлові системи або фізичні томи вже зменшено у розмірах
всередині розділу. Virt-resize виконає перевірку виконання цієї умови до
того, як розпочне обробку даних. Якщо умову не виконано, програма повідомить
про помилку (див. також \fI\-\-resize\-force\fR).
.Sp
Цей параметр можна вказувати декілька разів.
.IP "\fB\-\-resize\-force\fR РОЗДІЛ=РОЗМІР" 4
.IX Item "--resize-force РОЗДІЛ=РОЗМІР"
Це те саме, що і \fI\-\-resize\fR, але із можливістю зменшувати розміри будь\-яких
розділів. Загалом, це означає, що ви можете втратити якісь дані, які
зберігалися наприкінці зменшуваного розділу, але, можливо, ви цим не
переймаєтеся (наприклад, якщо зменшуєте розмір невикористаного розділу або
можете легко відтворити вміст розділу, зокрема розділу резервної пам'яті на
диску).
.Sp
Див. також опис параметра \fI\-\-ignore\fR.
.IP "\fB\-\-shrink\fR РОЗДІЛ" 4
.IX Item "--shrink РОЗДІЛ"
Зменшити вказаний за назвою розділ у розмірах так, щоб увесь образ диска
вмістився у образ призначення. Вказаний за назвою розділ \fBмає\fR містити
файлову систему або фізичний том, які вже було зменшено у розмірах за
допомогою іншого засобу (наприклад \fBguestfish\fR\|(1) або інших
програм). Virt-resize виконає перевірку виконання цієї умови і повідомить
про помилку, якщо попереднього зменшення файлової системи або фізичного тому
не виконано.
.Sp
Об'єм, на який має бути зменшено увесь диск (після виконання усіх інших дій,
вказаних користувачем), називається «дефіцитом». Наприклад, просте
копіювання (якщо не виконується жодних інших дій) з образу диска у 5 ГБ на
образ диска у 4 ГБ дає дефіцит у 1 ГБ. У цьому випадку virt-resize
повідомить про помилку, якщо користувач не вказав такий розділ для
стискання, на якому є понад гігабайт вільного місця.
.Sp
Зауважте, що параметри \fI\-\-expand\fR і \fI\-\-shrink\fR не можна використовувати у
одній і тій самій команді.
.IP "\fB\-\-unknown\-filesystems\fR \fBignore\fR" 4
.IX Item "--unknown-filesystems ignore"
.PD 0
.IP "\fB\-\-unknown\-filesystems\fR \fBwarn\fR" 4
.IX Item "--unknown-filesystems warn"
.IP "\fB\-\-unknown\-filesystems\fR \fBerror\fR" 4
.IX Item "--unknown-filesystems error"
.PD
Налаштувати поведінку virt-resize, якщо програмі надійшла команда розширити
файлову систему, а у libguestfs не передбачено її підтримки і virt-resize не
знає способу, як розширити вміст файлової системи.
.Sp
Використання параметра \fI\-\-unknown\-filesystems ignore\fR призведе до того, що
virt-resize без додаткових повідомлень ігноруватиме такі файлові системи і
нічого не виводитиме щодо них.
.Sp
Використання параметра \fI\-\-unknown\-filesystems warn\fR (типове поведінка)
призводитиме до того, що virt-resize попереджатиме про кожну файлову
систему, яку не може бути розширено, але продовжуватиме зміну розмірів
розділів на диску.
.Sp
Використання параметра \fI\-\-unknown\-filesystems error\fR призведе до того, що
virt-resize повідомлятиме про помилку, якщо виявить файлову систему, розміри
якої не можна збільшити.
.Sp
Див. також \*(L"unknown/unavailable method for expanding the \s-1TYPE\s0 filesystem
on \s-1DEVICE/LV\*(R"\s0.
.IP "\fB\-v\fR" 4
.IX Item "-v"
.PD 0
.IP "\fB\-\-verbose\fR" 4
.IX Item "--verbose"
.PD
Увімкнути показ діагностичних повідомлень.
.IP "\fB\-V\fR" 4
.IX Item "-V"
.PD 0
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
.PD
Показати дані щодо версії і завершити роботу.
.IP "\fB\-x\fR" 4
.IX Item "-x"
Увімкнути трасування викликів програмного інтерфейсу libguestfs.
.SH "ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ"
.IX Header "ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ"
Для виведення даних у зручному для машинної обробки форматі можна
скористатися параметром \fI\-\-machine\-readable\fR. Додавання цього параметра
робить зручним використання virt-resize з інших програм, графічних
інтерфейсів тощо.
.PP
Існує два способи використання цього параметра.
.PP
По\-перше, можна скористатися ним без інших параметрів для того, щоб
дізнатися про можливості виконуваного файла virt-resize. Типові виведені
дані виглядатимуть так:
.PP
.Vb 6
\& $ virt\-resize \-\-machine\-readable
\& virt\-resize
\& ntfsresize\-force
\& 32bitok
\& ntfs
\& btrfs
.Ve
.PP
Виводиться список можливостей, по одній на рядок, і програма завершує роботу
зі станом 0.
.PP
По\-друге, можна скористатися цим параметром у поєднанні із іншими
параметрами для того, щоб зробити звичайні виведені програмою дані
придатнішими для подальшої машинної обробки.
.PP
У поточній версії це означає таке:
.IP "1." 4
Повідомлення смужки поступу можна обробляти зі стандартного виведення,
шукаючи їх за таким формальним виразом:
.Sp
.Vb 1
\& ^[0\-9]+/[0\-9]+$
.Ve
.IP "2." 4
Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до
стандартного виведення, (окрім повідомлень смужки поступу) як повідомлення
щодо стану. Ці повідомлення може бути записано до журналу і/або показано
користувачеві.
.IP "3." 4
Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до
stderr як повідомлення про помилки. Крім того, virt-resize завершує роботу
із ненульовим кодом стану, якщо станеться критична помилка.
.PP
У версіях програми до 1.13.9 не передбачено використання параметра
\&\fI\-\-machine\-readable\fR. Якщо цей параметр буде використано для такої версії,
програма поверне повідомлення про помилку.
.PP
Можна вказати рядок форматування для керування виведенням,
див. \*(L"РОЗШИРЕНЕ ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ\*(R" in \fBguestfs\fR\|(3).
.SH "ПРИМІТКИ"
.IX Header "ПРИМІТКИ"
.SS "«Розділ 1 не закінчується на межі циліндра.»"
.IX Subsection "«Розділ 1 не закінчується на межі циліндра.»"
Virt-resize вирівнює розділи на позиції, кратні до 128 секторів
(див. параметр \fI\-\-alignment\fR). Зазвичай, це означає, що розділи не буде
вирівняно за давньою геометрією \s-1CHS\s0 (циліндр\-голівка\-сектор). Втім,
геометрія \s-1CHS\s0 не має сенсу для дисків, які вироблено після ранніх 1990\-х, і
зовсім не має сенсу для віртуальних жорстких дисків. Вирівнювання розділів
за циліндрами не є вимогою жодної сучасної операційної системи.
.SS "ЗАВАНТАЖЕННЯ ГОСТЬОВОЇ СИСТЕМИ ЗУПИНЯЄТЬСЯ НА «GRUB»"
.IX Subsection "ЗАВАНТАЖЕННЯ ГОСТЬОВОЇ СИСТЕМИ ЗУПИНЯЄТЬСЯ НА «GRUB»"
Якщо гостьова система Linux не завантажується після зміни розміру, і
завантаження зупиняється після виведення слова \f(CW\*(C`GRUB\*(C'\fR до консолі, спробуйте
перевстановити grub.
.PP
.Vb 6
\& guestfish \-i \-a newdisk
\& ><fs> cat /boot/grub/device.map
\& # check the contents of this file are sensible or
\& # edit the file if necessary
\& ><fs> grub\-install / /dev/vda
\& ><fs> exit
.Ve
.PP
Для гнучкішого переналаштовування гостьової системи, зокрема випадків, коли
вам потрібно вказати інші параметри grub-install, скористайтеся
\&\fBvirt\-rescue\fR\|(1).
.SS "ЗМІНА РОЗМІРІВ ЗАВАНТАЖУВАЛЬНИХ РОЗДІЛІВ \s-1WINDOWS\s0"
.IX Subsection "ЗМІНА РОЗМІРІВ ЗАВАНТАЖУВАЛЬНИХ РОЗДІЛІВ WINDOWS"
У Windows Vista і новіших версіях компанія Microsoft перейшла до
використання окремого розділу завантаження. У віртуальних машинах із цими
операційними системами, типово, \fI/dev/sda1\fR є розділом завантаження, а
\&\fI/dev/sda2\fR є основним диском (C:). Зміна розмірів першого розділу (розділу
завантаження) спричиняє помилку завантажувача \f(CW0xC0000225\fR. Зміна розмірів
другого розділу (тобто диска C:) має працювати.
.SS "\s-1WINDOWS CHKDSK\s0"
.IX Subsection "WINDOWS CHKDSK"
Диск Windows, на якому використовується \s-1NTFS,\s0 має бути коректним, перш ніж
virt-resize зможе ним скористатися. Якщо спроба виконати дію ntfsresize
завершиться повідомленням про помилку, спробуйте завантажити початкову
віртуальну машину і запустіть \f(CW\*(C`chkdsk /f\*(C'\fR для усіх розділів \s-1NTFS,\s0 потім
завершіть роботу віртуальної машини у штатний спосіб. Докладнішу інформацію
наведено тут: https://bugzilla.redhat.com/show_bug.cgi?id=975753
.PP
\&\fIПісля зміни розмірів\fR Windows може ініціювати тривалу обробку chkdsk при
першому завантаженні, якщо було розширено розділи \s-1NTFS.\s0 Це усього лише для
забезпечення надійного зберігання даних, і (якщо не буде знайдено помилок)
ви можете бути спокійні.
.SS "СИНІЙ ЕКРАН СМЕРТІ \s-1UNMOUNTABLE_BOOT_VOLUME\s0 У \s-1WINDOWS\s0"
.IX Subsection "СИНІЙ ЕКРАН СМЕРТІ UNMOUNTABLE_BOOT_VOLUME У WINDOWS"
Після приготування системи гостьової операційної системи Windows із
наступною зміною її розміру за допомогою virt-resize ви можете отримати
непридатну до завантаження систему, яка показуватиме синій екран смерті із
помилкою \f(CW\*(C`UNMOUNTABLE_BOOT_VOLUME\*(C'\fR. Цю помилку спричинено наявністю рядка
\&\f(CW\*(C`ExtendOemPartition=1\*(C'\fR у файлі sysprep.inf. Якщо вилучити цей рядок до
обробки sysprep, проблема зникає.
.SS "\s-1WINDOWS 8\s0"
.IX Subsection "WINDOWS 8"
«Швидкий запуск» Windows 8 може заважати virt-resize змінювати розмір
розділів \s-1NTFS.\s0 Див. \*(L"ПРИСИПЛЯННЯ \s-1WINDOWS\s0  ТА ШВИДКИЙ ЗАПУСК
\&\s-1WINDOWS 8\*(R"\s0 in \fBguestfs\fR\|(3).
.SS "РОЗРІДЖЕНЕ КОПІЮВАННЯ"
.IX Subsection "РОЗРІДЖЕНЕ КОПІЮВАННЯ"
Вам слід створити новий, заповнений нулями образ диска призначення, який
використовуватиме virt-resize.
.PP
Virt-resize типово виконує розріджене копіювання. Це означає, що програма не
копіює ті блоки з початкового диска, які заповнено лише нулями. Це підвищує
швидкість та ефективність роботи, але може призвести до некоректних
результатів, якщо на образі диска призначення є незанулені дані.
.PP
В основному, така проблема виникає, якщо образом призначення є розділ
основної системи (наприклад, \f(CW\*(C`virt\-resize source.img /dev/sda4\*(C'\fR),
оскільки звичайні інструменти поділу диска на розділи лишають недоторканними
усі дані, які раніше зберігалися на диску.
.PP
Якщо ви змушені використатися образ призначення, на якому вже зберігалися
дані, вам слід скористатися параметром \fI\-\-no\-sparse\fR. Зауважте, що це
значно уповільнить роботу програми.
.ie n .SS """unknown/unavailable method for expanding the \s-1TYPE\s0 filesystem on \s-1DEVICE/LV""\s0"
.el .SS "``unknown/unavailable method for expanding the \s-1TYPE\s0 filesystem on \s-1DEVICE/LV''\s0"
.IX Subsection "unknown/unavailable method for expanding the TYPE filesystem on DEVICE/LV"
Virt-resize було наказано розширити розділ або логічний том, на якому
міститься файлова система типу \f(CW\*(C`TYPE\*(C'\fR, але програмі недоступний або
невідомий спосіб розширення цієї файлової системи.
.PP
Причиною може бути будь\-що із наведеного нижче:
.IP "1." 4
Відповідна файлова система недоступна у libguestfs, оскільки у основній
системі немає належного пакунка із інструментами для роботи з цією файловою
системою. Таке, зазвичай, трапляється із файловими системами \f(CW\*(C`btrfs\*(C'\fR,
\&\f(CW\*(C`ntfs\*(C'\fR, \f(CW\*(C`xfs\*(C'\fR та \f(CW\*(C`f2fs\*(C'\fR.
.Sp
Спробуйте такі команди:
.Sp
.Vb 3
\& virt\-resize \-\-machine\-readable
\& guestfish \-a /dev/null run : available
\& guestfish \-a /dev/null run : filesystem_available TYPE
.Ve
.Sp
У цьому випадку достатньо встановити належні пакунки із підтримкою файлових
систем. Наприклад, достатньо встановити \f(CW\*(C`libguestfs\-xfs\*(C'\fR у Red Hat
Enterprise Linux, CentOS, Debian, Ubuntu та дистрибутивах, які від них
походять, щоб можна було працювати із файловою системою \f(CW\*(C`xfs\*(C'\fR.
.IP "2." 4
У virt-resize не передбачено підтримки розширення цього типу файлових
систем.
.Sp
У цьому випадку нічого не поробиш: virt-resize не зможе розширити файлову
систему цього типу.
.PP
In both cases, virt-resize will not expand the mentioned filesystem; the
result (unless \fI\-\-unknown\-filesystems error\fR is specified)  is that the
partitions containing such filesystems will be actually bigger as requested,
but the filesystems will still be usable at their older sizes.
.SH "АЛЬТЕРНАТИВНІ ІНСТРУМЕНТИ"
.IX Header "АЛЬТЕРНАТИВНІ ІНСТРУМЕНТИ"
Існує декілька пропрієтарних інструментів для зміни розмірів розділів. Тут
ми не будемо згадувати назви жодного з таких інструментів.
.PP
\&\fBparted\fR\|(8) і її графічний інтерфейс, gparted, можуть виконувати певні типи
дій із зміни розміру образів дисків. Ці програми можуть змінювати розмір і
пересувати розділи, але не слід вважати, що вони можуть виконувати будь\-які
дії із вмістом розділів, і, звичайно ж, вони не можуть працювати з \s-1LVM.\s0
.PP
\&\fBguestfish\fR\|(1) може виконувати усі ті дії, які може виконувати virt-resize,
і набагато більше, але на суттєво нижчому рівні. Ймовірно, вам доведеться
вручну обчислювати відступи у секторах, робити те, що за означенням має
робити virt-resize. Якщо хочете дізнатися, які команди у guestfish запускає
virt-resize, скористайтеся параметром \fI\-\-debug\fR.
.PP
До складу \fBdracut\fR\|(8) включено модуль із назвою \f(CW\*(C`dracut\-modules\-growroot\*(C'\fR,
яким можна скористатися для збільшення розмірів кореневого розділу під час
першого завантаження гостьової системи. Документацію з цього модуля наведено
у пов'язаному із ним файлі \s-1README.\s0
.SH "СТАН ВИХОДУ"
.IX Header "СТАН ВИХОДУ"
Ця програма повертає значення 0 у разі успішного завершення і ненульове
значення, якщо сталася помилка.
.SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
.IX Header "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
\&\fBvirt\-filesystems\fR\|(1), \fBvirt\-df\fR\|(1), \fBguestfs\fR\|(3), \fBguestfish\fR\|(1),
\&\fBlvm\fR\|(8), \fBpvresize\fR\|(8), \fBlvresize\fR\|(8), \fBresize2fs\fR\|(8),
\&\fBntfsresize\fR\|(8), \fBbtrfs\fR\|(8), \fBxfs_growfs\fR\|(8), \fBresize.f2fs\fR\|(8),
\&\fBvirsh\fR\|(1), \fBparted\fR\|(8), \fBtruncate\fR\|(1), \fBfallocate\fR\|(1), \fBgrub\fR\|(8),
\&\fBgrub\-install\fR\|(8), \fBvirt\-rescue\fR\|(1), \fBvirt\-sparsify\fR\|(1),
\&\fBvirt\-alignment\-scan\fR\|(1), http://libguestfs.org/.
.SH "АВТОР"
.IX Header "АВТОР"
Richard W.M. Jones http://people.redhat.com/~rjones/
.SH "АВТОРСЬКІ ПРАВА"
.IX Header "АВТОРСЬКІ ПРАВА"
© Red Hat Inc., 2010–2012
.SH "LICENSE"
.IX Header "LICENSE"
.SH "BUGS"
.IX Header "BUGS"
To get a list of bugs against libguestfs, use this link:
https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
.PP
To report a new bug against libguestfs, use this link:
https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
.PP
When reporting a bug, please supply:
.IP "\(bu" 4
The version of libguestfs.
.IP "\(bu" 4
Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
.IP "\(bu" 4
Describe the bug accurately and give a way to reproduce it.
.IP "\(bu" 4
Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR
output into the bug report.