注:以虚拟机操作为例
1.磁盘分区管理
• MBR/msdos 分区模式
– 分区类型:主分区、扩展分区、逻辑分区
– 1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)
– 最大支持容量为 2.2TB 的磁盘
– 扩展分区不能格式化
/dev/sda5:SCSI接口设备第一块硬盘的第一个逻辑分区
• GPT分区模式,最大到18EB (1EB=1000PB 1PB=1000TB)
fdisk /dev/vbc (以MBR分区模式为例)
如果创建的分区不显示 可以用 # partprobe 命令刷新分区表
[root@localhost ~]# lsblk #查看识别磁盘信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
vdc 253:32 0 80G 0 disk
[root@localhost ~]# fdisk /dev/vdc ##开始对磁盘进行分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xfba89dde 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n ###n选项为新增分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): ####默认为p,可以不用填写
Using default response p
分区号 (1-4,默认 1): ####默认为1,可以不用填写
起始 扇区 (2048-167772159,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-167772159,默认为 167772159):+10G ###分区大小注意‘+’
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):P #####查看已分的分区
磁盘 /dev/vdc:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x77b723a8
设备 Boot Start End Blocks Id System
/dev/vdc1 2048 20973567 10485760 83 Linux
/dev/vdc2 20973568 41945087 10485760 83 Linux
/dev/vdc3 41945088 67110911 12582912 83 Linux
/dev/vdc4 67110912 167772159 50330624 5 Extended
/dev/vdc5 67112960 109055999 20971520 83 Linux
命令(输入 m 获取帮助):W #######确认好分区后,输入‘W’保存分区
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
vdc 253:32 0 80G 0 disk
├─vdc1 253:33 0 10G 0 part
├─vdc2 253:34 0 10G 0 part
├─vdc3 253:35 0 12G 0 part
├─vdc4 253:36 0 1K 0 part
└─vdc5 253:37 0 20G 0 part
2.给分区加入系统格式(常见系统格式ext4、xfs、ext3等)
a. 命令:mkfs.xfs 分区路径 mkfs.ext4 分区路径 .....
[root@localhost ~]# mkfs.xfs /dev/vdc1
meta-data=/dev/vdc1 isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/vdc1 ###查看分区文件格式
/dev/vdc1: UUID="951ddfe0-a498-4fc1-a23a-1fb64d7e4f9e" TYPE="xfs"
b.开机自动挂载分区 需要配置: /etc/fstab 文件
配置格式:分区路径 挂载点 文件系统类型 参数 备份标记 检测顺序
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# mount -a ##自动挂载
[root@localhost ~]# df -h ##查看已挂载的文件系统
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.1G 7.0G 31% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdc5 20G 33M 20G 1% /mnt/xfs
3.LVM逻辑卷管理 ( PV可以不用建立)
作用:>可以整合分散的空间 >容量大小可以扩大
– 零散空闲存储 ---->整合的虚拟磁盘 ---->虚拟的分区
物理卷 PV 卷组 VG 逻辑卷LV
将众多的物理卷( PV),组成卷组(VG),再从卷组中划分出逻辑卷(LV)
a.VG逻辑卷组创建 (格式:vgcreate 新建逻辑卷组名称 分区路径)
[root@localhost ~]# vgcreate testvg /dev/vdc2 /dev/vdc3
WARNING: ext4 signature detected on /dev/vdc2 at offset 1080. Wipe it? [y/n] y
Wiping ext4 signature on /dev/vdc2.
WARNING: xfs signature detected on /dev/vdc3 at offset 0. Wipe it? [y/n] y
Wiping xfs signature on /dev/vdc3.
Physical volume "/dev/vdc2" successfully created
Physical volume "/dev/vdc3" successfully created
Volume group "testvg" successfully created
[root@localhost ~]# vgs ####查看已有的逻辑卷组
VG #PV #LV #SN Attr VSize VFree
testvg 2 0 0 wz--n- 21.99g 21.99g
b. 创建逻辑卷 (格式:lvcreate -n 逻辑卷名 -L 逻辑卷大小 卷组名)
[root@localhost ~]# lvcreate -n vo -L 8G testvg
Logical volume "vo" created
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
vo testvg -wi-a----- 8.00g
[root@localhost ~]# blkid /dev/testvg/vo ###格式化逻辑卷
/dev/testvg/vo: UUID="051dad3b-5da3-4ce2-89e8-2147913e664e" TYPE="xfs"
[root@localhost ~]# vim /etc/fstab ####自动挂载格式化后的逻辑卷
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.1G 7.0G 31% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdc5 20G 33M 20G 1% /mnt/xfs
/dev/vdc1 9.8G 37M 9.2G 1% /mnt/mypart
/dev/mapper/testvg-vo 8.0G 33M 8.0G 1% /vo
------删除卷组 vgremove 卷组名
------指定创建逻辑卷使用PE的个数创建(lvcreate -l PE的个数 -n 逻辑卷 卷组名)
-------卷组已经存在,修改PE的大小(vgchange -s PE大小 卷组名)
-------创建卷组的时候设置PE大小(vgcreate -s PE大小 卷组名 设备路径)
-------
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
datastore 2 0 0 wz--n- 29.99g 29.99g
testvg 2 1 0 wz--n- 21.99g 13.99g
[root@localhost ~]# lvcreate -l 50 -n database datastore ##利用卷组个数创建逻辑卷
Logical volume "database" created
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
database datastore -wi-a----- 200.00m
vo testvg -wi-ao---- 8.00g
[root@localhost ~]# vgchange -s 1M datastore ####修改已有卷组PE值大小
Volume group "datastore" successfully changed
[root@localhost ~]# vgdisplay datastore #####查看修改结果
--- Volume group ---
VG Name datastore
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 29.99 GiB
PE Size 1.00 MiB
Total PE 30712
Alloc PE / Size 200 / 200.00 MiB
Free PE / Size 30512 / 29.80 GiB
VG UUID WYFTXo-ChgU-RcjC-Y0eh-9hX8-aKMy-SnTEwb
4.逻辑卷组和卷的扩展
逻辑卷的扩展(卷组有足够的剩余空间)
a.扩展逻辑卷
[root@server0 ~]# vgs
[root@server0 ~]# lvextend -L 18G /dev/systemvg/mylv
[root@server0 ~]# lvs
b.扩展卷组
[root@server0 ~]# vgextend systemvg /dev/vdc3
[root@server0 ~]# vgs
c.扩展文件系统的大小( resize2fs:扩展ext4文件系统、xfs_growfs:扩展xfs文件系统)
[root@server0 ~]# df -h
[root@server0 ~]# resize2fs /dev/systemvg/mylv
[root@server0 ~]# df -h
了解内容:缩减空间
ext4文件系统支持缩减
xfs文件系统不支持缩减
5.逻辑卷的删除
a.先删除逻辑卷本身(先卸载)
b再删除卷组
c.最后删除物理卷(可选)
# lvremove /dev/systemvg/mylv #删除逻辑卷
# umount /lvm
# lvremove /dev/systemvg/mylv
# lvs
# lvremove /dev/systemvg/lvtest
# lvs
# vgremove systemvg #删除卷组
# vgs