一、查看系统磁盘
当使用df -h 命令,可以看到系统的磁盘使用情况,如下所示。
[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
51G 24G 25G 49% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
199G 60M 189G 1% /home
二、Linux 磁盘扩容
当LVM分区空间不足的时候,可以进行扩容。主要的扩容方法有两种:
- 通过空余的磁盘进行扩容,这个方法比较简单,不会对原有数据有影响。
- 将其他LVM分区空间取出一部分给需要扩容的LVM分区。
下面就分别具体介绍这两种方法。
三、利用空余磁盘扩容
1. 首先使用命令fdisk -l 查看磁盘情况,此系统有两块硬盘,/dev/xvda 274.9G,/dev/xvdb 10.7G
[root@localhost home]# fdisk -l
Disk /dev/xvda: 274.9 GB, 274877906944 bytes
255 heads, 63 sectors/track, 33418 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c5cd2
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/xvda2 64 33419 267922432 8e Linux LVM
Disk /dev/xvdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
2. 创建pv ,通过pvcreate命令将磁盘/dev/xvdb创建为一个系统PV
[root@localhost home]# pvcreate /dev/xvdb
Physical volume "/dev/xvdb" successfully created
3. 将 PV /dev/xvdb添加到卷组VolGroup 中。磁盘已经添加到VolGroup ,而且卷组的空间增加了10G。使用命令vgextend VolGroup /dev/xvdb
[root@localhost home]# vgextend VolGroup /dev/xvdb
Volume group "VolGroup" successfully extended
[root@localhost home]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 2 3 0 wz--n- 265.50g 0
4. 为/ 添加10G的空间。使用命令lvextend -L +10G /dev/mapper/VolGroup-lv_root
[root@localhost home]# lvextend -L +10G /dev/mapper/VolGroup-lv_root
Size of logical volume VolGroup/lv_root changed from 50.98 GiB (13050 extents) to 55.98 GiB (14330 extents).
Logical volume lv_root successfully resized
5. 逻辑卷扩展后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大小。使用命令 resize2fs /dev/VolGroup/lv_root。再使用命令df -h查看发现/已经多了10G。
[root@localhost home]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 4
Performing an on-line resize of /dev/VolGroup/lv_root to 14673920 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 14673920 blocks long.
[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
60G 24G 34G 41% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
199G 60M 189G 1% /home
四、利用其他LVM分区空余空间进行扩容
1. 使用df -h查看每个分区的使用情况。如下,发现/dev/mapper/VolGroup-lv_home容量很充裕,本次扩容通过减少/dev/mapper/VolGroup-lv_home的空间给/dev/mapper/VolGroup-lv_root。
[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
60G 24G 34G 41% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
199G 60M 189G 1% /home
2. 卸载/home
[root@localhost home]# umount /home
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount /home 如果提示无法卸载,因为有进程占用/home,使用如下命令来终止占用进程:
[root@localhost home]# fuser -m /home
/home: 1463c
如果依然无法卸载,使用以下命令:
[root@localhost home]# umount -l /home
3. 调整/dev/mapper/VolGroup-lv_home分区大小
需要先进行磁盘检测 ,输入命令e2fsck -f /dev/mapper/VolGroup-lv_home。
注意:遇到Abort< y >? 这边输入的是n,才能继续进行。
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home
e2fsck 1.41.12 (17-May-2010)
The filesystem size (according to the superblock) is 52848640 blocks
The physical size of the device is 52592640 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>? no
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/VolGroup-lv_home: 26/13213696 files (0.0% non-contiguous), 877250/52848640 blocks
然后输入命令resize2fs -p /dev/mapper/VolGroup-lv_home 100G,进行磁盘重订大小。
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 100G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 26214400 (4k) blocks.
Begin pass 2 (max = 32768)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 1613)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/VolGroup-lv_home is now 26214400 blocks long.
4. 重新挂载/home
重新挂载后,输入df -h,发现/dev/mapper/VolGroup-lv_home已经改变。
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
60G 24G 34G 41% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
99G 60M 94G 1% /home
5. 设置空闲空间
使用命令vgdisplay,可以看到Free PE/Size 25760 / 100.62 GiB,有了100G的空余空间。
[root@localhost ~]# lvreduce -L 100G /dev/mapper/VolGroup-lv_home
WARNING: Reducing active and open logical volume to 100.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Size of logical volume VolGroup/lv_home changed from 200.62 GiB (51360 extents) to 100.00 GiB (25600 extents).
Logical volume lv_home successfully resized
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 2
Act PV 2
VG Size 265.50 GiB
PE Size 4.00 MiB
Total PE 67969
Alloc PE / Size 42209 / 164.88 GiB
Free PE / Size 25760 / 100.62 GiB
VG UUID hQoxGl-H4T9-Lu9W-sITN-hO2B-aos7-T5TmKC
6. 把闲置空间挂在到根目录下
[root@localhost ~]# lvextend -L +100.62G /dev/mapper/VolGroup-lv_root
Rounding size to boundary between physical extents: 100.62 GiB
Size of logical volume VolGroup/lv_root changed from 60.97 GiB (15609 extents) to 161.59 GiB (41368 extents).
Logical volume lv_root successfully resized
使用命令resize2fs -p /dev/mapper/VolGroup-lv_root, 可以不用重启,就显示最新的磁盘空间。
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 11
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 42360832 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 42360832 blocks long.
7. 最后结果
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
159G 24G 128G 16% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
99G 60M 94G 1% /home
/////////////操作记录/////////////
221 fdisk /dev/sdb
222 fdisk -l
223 fdisk /dev/sdb
224 partprobe
225 fdisk /dev/sdc
226 fdisk -l
227 fdisk /dev/sdc
228 fdisk /dev/sdd
229 partprobe
230 pvcreate
231 pvscan
232 pvcreate /dev/sdb1
233 pvcreate /dev/sdc1
234 pvcreate /dev/sdd1
235 pvscan
236 pvdisplay
237 vgcreate /dev/sdb1 /dev/sdc1
238 df
239 vgcreate /dev/sdd1 /dev/sdc1
240 vgcreate zhanghao /dev/sdb1 /dev/sdc1
241 vgcreate haozhang /dev/sdd1
242 vgscan
243 vgdisplay
244 df
245 vgremove haozhang
246 vgscan
247 vgdisplay
248 vgextend --help
249 vgextend zhanghao /dev/sbd
250 vgextend zhanghao /dev/sbd1
251 vgsacn
252 vgscan
253 fdisk -l
254 vgextend zhanghao /dev/sdd1
255 vgscan
256 vgdisplay
257 vgreduce --help
258 vgreduce zhanghao /dev/sdd
259 vgscn
260 vgscan
261 vgdisplay
262 vgreduce zhanghao /dev/sdd1
263 vgdisplay
264 mount --help
265 lvcreate --help
266 vgscan
267 vgdisplay
268 vgextend --help
269 vgextend zhanghao /dev/sdd1
270 vgdisplay
271 lvcreate -L 2048M --n 001 zhanghao
272 lvcreate -L 2048M -n 001 zhanghao
273 lvscan
274 df
275 df -h
276 df -hT
277 mkfs.ext4 /dev/zhanghao/001
278 tune2fs -c -1 /dev/zhanghao/001
279 mount /dev/zhanghao/001 /opt/
280 df -t
281 df -h
282 mkdir /opt/dfs
283 ll /opt
284 ll /opt/lost+found/
285 ll -a /opt/lost+found/
286* lvcreate -L +2048M -n 002 /dev/zhanghao/002
287 lvcreate -L +2048M /dev/zhanghao/001
288 lvextend --help
289 lvextend -L +2048M /dev/zhanghao/001
290 df -h
291 df -hT
292 umount /opt
293 mount /dev/zhanghao/001 /opt/
294 df
295 df -h
296 lvdisplay
297 umount /opt
298 partprobe
299 df
300 lvdisplay
301 df
302 mount /dev/zhanghao/001 /opt
303 df
304 df -t
305 df -hT
306 lvresize --help
307 lvextend
308 lvextend --help
309 lvresize --help
310 df
311 lvresize /dev/zhanghao/001
312 lvscan
313 lvcreate -L +5048M /dev/zhanghao/002
314 history |grep lvcreate
315* lvcreate -L 5048M -n
316 lvsacn
317 lvscan
318 lvcreate -L 5048M -n 002 zhanghao
319 lvscan
320 history
321 resize2fs /dev/zhanghao/001
322 df -h
323 lvscan
324 history |grep mount
325 mkdir /vm2
326 mkdir /vm1
327 df
328 umount /opt
329 mount /dev/zhanghao/002 /vm2
330 mkfs.ext /dev/zhanghao/002
331 mkfs.ext4 /dev/zhanghao/002
332 history |grep tune2fs
333 tune2fs -c -1 /dev/zhanghao/002
334 mount /dev/zhanghao/002 /vm2
335 mount /dev/zhanghao/001 /vm1
网友评论