转载自https://www.cnblogs.com/archoncap/p/5442208.html
根据自己学识略有增减

给某个硬盘增加分区

1
2
3
4
5
6
[root@Mysql01-213-66 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_mysql0121366-LogVol02 7.7G 2.6G 4.8G 36% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
/dev/mapper/vg_mysql0121366-LogVol01 8.0G 3.1G 5.0G 38% /data

这里增加/data大小

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@Mysql01-213-66 ~]# fdisk -l /dev/sda

Disk /dev/sda: 40.8 GB, 40802189312 bytes
255 heads, 63 sectors/track, 4960 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: 0x000eb81f

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 2350 18668544 8e Linux LVM

进行分区

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
[root@Mysql01-213-66 ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

-----小小分割线-----

Command (m for help): n

-----小小分割线,输入n代表新建的意思-----

Command action
e extended
p primary partition (1-4)

-----小小分割线,输入p代表分区表,只能1至4-----

Partition number (1-4): 3 #新建3号分区

-----小小分割线,划分多少内存给3号分区-----

First cylinder (2350-4960, default 2350):
Using default value 2350
Last cylinder, +cylinders or +size{K,M,G} (2350-4960, default 4960):
Using default value 4960

-----小小分割线,查看分区表-----

Command (m for help): p

Disk /dev/sda: 40.8 GB, 40802189312 bytes
255 heads, 63 sectors/track, 4960 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: 0x000eb81f

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 2350 18668544 8e Linux LVM
/dev/sda3 2350 4960 20966832 83 Linux

-----小小分割线,这里的t是更改系统分区ID-----

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

-----小小分割线,w代表写入并退出,完成-----

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

另其生效

重启服务器或者partprobe创建物理卷

1
2
[root@Mysql01-213-66 ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created

查询物理卷

使用vgscan

1
2
3
[root@Mysql01-213-66 ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg_mysql0121366" using metadata type lvm2

使用新增物理卷扩展vg

1
2
3
4
5
[root@Mysql01-213-66 ~]# vgextend vg_mysql0121366 /dev/sda3
Volume group "vg_mysql0121366" successfully extended
[root@Mysql01-213-66 ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg_mysql0121366" using metadata type lvm2

查询vg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@Mysql01-213-66 ~]# vgdisplay 
--- Volume group ---
VG Name vg_mysql0121366
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
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 37.79 GiB
PE Size 4.00 MiB
Total PE 9675
Alloc PE / Size 4557 / 17.80 GiB
Free PE / Size 5118 / 19.99 GiB
VG UUID Zy2PVv-xSsx-NEAv-L6ba-G8Oy-tBBq-5zXKQm

查询lv

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
[root@Mysql01-213-66 ~]# lvdisplay 
--- Logical volume ---
LV Path /dev/vg_mysql0121366/LogVol01
LV Name LogVol01
VG Name vg_mysql0121366
LV UUID 5znkJ2-wdeZ-Y2o1-ECDS-gzzl-PqaS-qo2yZR
LV Write Access read/write
LV Creation host, time Mysql01-213-66, 2015-08-30 20:42:13 +0800
LV Status available
# open 1
LV Size 8.00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

--- Logical volume ---
LV Path /dev/vg_mysql0121366/LogVol00
LV Name LogVol00
VG Name vg_mysql0121366
LV UUID b1FV1n-iKyK-kZ23-glRO-opFh-gDRp-TzWNcL
LV Write Access read/write
LV Creation host, time Mysql01-213-66, 2015-08-30 20:42:14 +0800
LV Status available
# open 1
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

--- Logical volume ---
LV Path /dev/vg_mysql0121366/LogVol02
LV Name LogVol02
VG Name vg_mysql0121366
LV UUID eoVdk3-cbcP-9PlI-kZBL-6pY2-Jpbl-1WI2uH
LV Write Access read/write
LV Creation host, time Mysql01-213-66, 2015-08-30 20:42:14 +0800
LV Status available
# open 1
LV Size 7.80 GiB
Current LE 1997
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1

显示磁盘相关信息

1
2
3
4
5
6
[root@Mysql01-213-66 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_mysql0121366-LogVol02 7.7G 2.6G 4.8G 35% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
/dev/mapper/vg_mysql0121366-LogVol01 8.0G 3.1G 5.0G 38% /data

扩展lv

1
2
3
4
5
6
7
8
9
10
[root@Mysql01-213-66 ~]# lvextend -L +19G /dev/mapper/vg_mysql0121366-LogVol01
Extending logical volume LogVol01 to 27.00 GiB
Logical volume LogVol01 successfully resized

[root@Mysql01-213-66 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_mysql0121366-LogVol02 7.7G 2.6G 4.8G 35% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
/dev/mapper/vg_mysql0121366-LogVol01 8.0G 3.1G 5.0G 38% /data

若不是xfs我们可以用resize2fs,这里报错了(ext4的文件系统用resize2fs来重新识别,xfs文件系统的用xfs_growfs)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@Mysql01-213-66 ~]# resize2fs -f /dev/mapper/vg_mysql0121366-LogVol01
resize2fs 1.41.12 (17-May-2010)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/vg_mysql0121366-LogVol01
Couldn't find valid filesystem superblock.


[root@Mysql01-213-66 ~]# xfs_growfs /dev/mapper/vg_mysql0121366-LogVol01
meta-data=/dev/mapper/vg_mysql0121366-LogVol01 isize=256 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2097152 to 7077888


[root@Mysql01-213-66 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_mysql0121366-LogVol02 7.7G 2.6G 4.8G 35% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
/dev/mapper/vg_mysql0121366-LogVol01 27G 3.1G 24G 12% /data