Pvreduce » История » Версия 3
Константин Пильник, 2015-06-19 18:01
1 | 1 | Андрей Волков | h1. Уменьшаем жесткий диск с PV |
---|---|---|---|
2 | |||
3 | h2. 1. Уменьшаем фаловые системы. |
||
4 | |||
5 | h2. 2. Уменьшаем LV разделы |
||
6 | |||
7 | h2. 3. Уменьшаем PV разделы |
||
8 | |||
9 | Имеем: |
||
10 | <pre> |
||
11 | pvs |
||
12 | </pre> |
||
13 | |||
14 | <pre> |
||
15 | PV VG Fmt Attr PSize PFree |
||
16 | /dev/vda safe lvm2 a- 40.00g 32.00g |
||
17 | </pre> |
||
18 | |||
19 | Уменьшаем размер PV. |
||
20 | <pre> |
||
21 | pvresize --setphysicalvolumesize 9G /dev/vda |
||
22 | </pre> |
||
23 | |||
24 | Есть два варианта вывода для этой команды. |
||
25 | |||
26 | h3. 3a. Простой (моментальный успех) |
||
27 | |||
28 | <pre> |
||
29 | Physical volume "/dev/vda" changed |
||
30 | 1 physical volume(s) resized / 0 physical volume(s) not resized |
||
31 | </pre> |
||
32 | |||
33 | h3. 3b. Сложный (отложенный успех) |
||
34 | |||
35 | <pre> |
||
36 | /dev/vda: cannot resize to 2303 extents as later ones are allocated. |
||
37 | 0 physical volume(s) resized / 1 physical volume(s) not resized |
||
38 | </pre> |
||
39 | |||
40 | h4. 3b.1. Смотрим, как LV экстенты на располагаются на PV разделе. |
||
41 | |||
42 | <pre> |
||
43 | 2 | Андрей Волков | lvs --segments -o +seg_pe_ranges |
44 | 1 | Андрей Волков | </pre> |
45 | |||
46 | <pre> |
||
47 | LV VG Attr LSize PE Ranges |
||
48 | root safe -wi-ao 4.00g /dev/vda:0-1023 |
||
49 | srv safe -wi-ao 2.00g /dev/vda:3584-4095 |
||
50 | </pre> |
||
51 | |||
52 | h4. 3b.1. Перераспределяем LV экстенты к началу диска. |
||
53 | |||
54 | Перебрасываем экстенты, которые располагаются дальше 2303-го |
||
55 | <pre> |
||
56 | pvmove -i 10 --alloc anywhere -n srv /dev/vda:3584-4095 /dev/vda:1024-1535 |
||
57 | </pre> |
||
58 | |||
59 | <pre> |
||
60 | /dev/vda: Moved: 0.0% |
||
61 | /dev/vda: Moved: 35.9% |
||
62 | /dev/vda: Moved: 79.7% |
||
63 | /dev/vda: Moved: 100.0% |
||
64 | </pre> |
||
65 | |||
66 | Смотрим результат: |
||
67 | <pre> |
||
68 | 2 | Андрей Волков | lvs --segments -o +seg_pe_ranges |
69 | 1 | Андрей Волков | </pre> |
70 | |||
71 | <pre> |
||
72 | 2 | Андрей Волков | LV VG Attr LSize PE Ranges |
73 | 1 | Андрей Волков | root safe -wi-ao 4.00g /dev/vda:0-1023 |
74 | srv safe -wi-ao 2.00g /dev/vda:1024-1535 |
||
75 | </pre> |
||
76 | |||
77 | h4. 3b.2. Изменяем размер диска: |
||
78 | |||
79 | <pre> |
||
80 | pvresize --setphysicalvolumesize 9G /dev/vda |
||
81 | </pre> |
||
82 | |||
83 | <pre> |
||
84 | Physical volume "/dev/vda" changed |
||
85 | 1 physical volume(s) resized / 0 physical volume(s) not resized |
||
86 | </pre> |
||
87 | |||
88 | h3. 4. Результат: |
||
89 | |||
90 | <pre> |
||
91 | pvs |
||
92 | </pre> |
||
93 | |||
94 | <pre> |
||
95 | PV VG Fmt Attr PSize PFree |
||
96 | /dev/vda safe lvm2 a- 9.00g 3.00g |
||
97 | </pre> |
||
98 | 3 | Константин Пильник | |
99 | |||
100 | h3. 5. Если жесткий диск на машине qemu |
||
101 | |||
102 | Сначала уменьшить раздел на хосте, а затем уменьшить блочное устройство в qmp-интерфейсе. |
||
103 | Размер можно указать 0 |
||
104 | |||
105 | <pre> |
||
106 | ondatra ~ # qmp-shell /run/qemu/qemu322.control.sock |
||
107 | Welcome to the QMP low-level shell! |
||
108 | Connected to QEMU 2.2.1 |
||
109 | |||
110 | (QEMU) block_resize device=disk-322-obama-test size=0 |
||
111 | {u'return': {}} |
||
112 | (QEMU) |
||
113 | </pre> |