分区与逻辑卷
为了方便操作,可以提前给blue配置IP和YUM软件仓库
lsblk #查看硬盘及分区信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part
├─rhel-root 253:0 0 17G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
vdb 252:16 0 10G 0 disk
└─vdb1 252:17 0 500M 0 part
└─test-vo 253:2 0 200M 0 lvm /vo
vdc 252:32 0 10G 0 disk
名称 | 描述 |
/dev/sr0 | 光盘 |
/dev/vda,vdb, ... ... | 虚拟机硬盘(vda1,vda2是该硬盘的分区) |
/dev/sda,sdb, ... ... | SATA或SCSI硬盘 |
/dev/nvme... | 固态硬盘 |
使用流程:lsblk硬盘-->fdisk分区-->mkfs格式化-->mount挂载-->使用
fdisk分区
使用vdc硬盘做实验(Linux系统的设备默认都存放在/dev/目录下)
fdisk /dev/vdc #使用fdisk工具对vdc硬盘分区
Command (m for help): #按m键可以获取帮助
Command (m for help): p #查看硬盘分区
Disk /dev/vdc: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x63cac56a
Command (m for help): n #new新建分区
Partition type
p primary (0 primary, 0 extended, 4 free) #主分区(最多4个)
e extended (container for logical partitions) #扩展分区
Select (default p): 回车 #默认是主分区
Partition number (1-4, default 1):回车 #创建第几个分区,默认为1
First sector (2048-20971519, default 2048): 回车 #从哪里开始分区(默认从头)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519):
+1G #到哪里结束(分区容量)
Command (m for help): p #查看分区
Disk /dev/vdc: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x63cac56a Device Boot Start End Sectors Size Id Type /dev/vdc1 2048 2099199 2097152 1G 83 Linux
Command (m for help): w #保存退出
格式化文件系统
Windows的文件系统:fat32,exfat,NTFS
Linux的文件系统:ext4,xfs,vfat
Linux如果需要格式化vfat需要安装dosfstools软件
mkfs.xfs /dev/vdc1 #格式化XFS文件系统
警告:格式化会删除所有数据!
mount挂载
Windows的分区是挂载到C盘、D盘
Linux系统的理念是一切皆文件!创建目录,把分区挂载到目录!
mkdir /data
mount /dev/vdc1 /data/
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdc 252:32 0 10G 0 disk
└─vdc1 252:33 0 1G 0 part /data
测试案例
touch /data/data.txt
ls /data/
mkdir /data/subdir
ls /data/
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vdc1 1014M 40M 975M 4% /data
重要:mount挂载分区的命令立刻生效,但是,重启计算机后失效!
如果需要永久生效,永久挂载,则需要修改/etc/fstab这个配置文件
vim /etc/fstab
添加
/dev/vdc1 /data xfs defaults 0 0
解析:
第一列:挂载谁?哪个分区
第二列:挂载到哪个目录下
第三列:什么格式
第四列:配置什么属性(defaults默认属性,ro只读属性,rw可读可写属性等)
第五、第六列:是否检查分区(0代表不检查)
mount -a #读取/etc/fstab文件中的所有分区,立刻挂载!
交换分区
Linux系统中当内存不足时,可以使用硬盘充当内存使用!(swap交换分区)
我们可以把硬盘分一部分空间出来,化作交换分区,充当内存使用!
free -m #查看内存信息(单位为M)
total used free shared buff/cache available
Mem: 956 305 666 6 115 650
Swap: 2047 0 2047
fdisk /dev/vdc
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): 回车
Partition number (2-4, default 2): 回车
First sector (2099200-20971519, default 2099200): 回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-20971519, default 20971519): +512M
Command (m for help): w
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdc 252:32 0 10G 0 disk
├─vdc1 252:33 0 1G 0 part /data
└─vdc2 252:34 0 512M 0 part
mkswap /dev/vdc2 #格式化为swap交换分区
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=665f0999-8ef7-47fb-bcfa-95b12a6b896d
vim /etc/fstab
在文件末尾手动加入如下内容:
/dev/vdc2 swap swap defaults 0 0
swapon -a
#自动读取/etc/fstab文件,把所有swap交换分区挂载/激活
free -m
total used free shared buff/cache available
Swap: 2559 0 2559
swapon -s
Filename Type Size UsedPriority
/dev/dm-1 partition 2097148 0 -2
/dev/vdc2 partition 524284 0 -3
逻辑卷
普通分区,不能动态调整大小!
逻辑卷可以动态调整大小!
分区/硬盘-->pvcreate(PV)-->vgcreate(VG)-->lvcreae(LV)-->格式化-->挂载使用
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdc 252:32 0 10G 0 disk
├─vdc1 252:33 0 1G 0 part /data
└─vdc2 252:34 0 512M 0 part
提示:vdc硬盘20G,只是用了不到2G空间(2个分区)
fdisk /dev/vdc
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): 回车
Partition number (3-4, default 3): 回车
First sector (3147776-20971519, default 3147776): 回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-20971519, default 20971519): +3G
Command (m for help): w
lsblk #查看多了一个vdc3的分区
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdc 252:32 0 10G 0 disk
├─vdc1 252:33 0 1G 0 part /data
└─vdc2 252:34 0 512M 0 part
└─vdc3 252:35 0 3G 0 part
vgcreate -s 16M myvg /dev/vdc3
#把/dev/vdc3分区,切割成16M,16M的小块,放入名称为myvg的仓库(名称任意)
#-s指定扩展单元大小(PE大小)
Physical volume "/dev/vdc3" successfully created.
Volume group "myvg" successfully created
vgdisplay /dev/myvg #查看VG卷组信息
--- Volume group ---
VG Name myvg #VG的名称
... ...
VG Size 2.98 GiB #VG的容量
PE Size 16.00 MiB #每个PE的大小
Total PE 191 #有191个PE
Alloc PE / Size 0 / 0 #已经使用了多数PE
Free PE / Size 191 / 2.98 GiB #剩余多少PE
VG UUID sXK22C-v8Ak-f8RQ-Daw3-cjGx-7bOP-R61Y6a
lvs #先查看系统自带的LV逻辑卷信息,系统自带了3个LV逻辑卷
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- <17.00g
swap rhel -wi-ao---- 2.00g
vo test -wi-ao---- 200.00m
lvcreate -n mylv -l 100 myvg
#从myvg仓库中提取容量,提取100个PE,创建一个名称为mylv的逻辑卷
#-L 容量(M,G),-l PE个数
Logical volume "mylv" created.
vgdisplay /dev/myvg
--- Volume group ---
VG Name myvg
VG Size 2.98 GiB
PE Size 16.00 MiB
Total PE 191
Alloc PE / Size 100 / 1.56 GiB #使用了100个PE
Free PE / Size 91 / 1.42 GiB #剩余91个PE
VG UUID sXK22C-v8Ak-f8RQ-Daw3-cjGx-7bOP-R61Y6a
lvs #查看创建的LV信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-a----- 1.56g
root rhel -wi-ao---- <17.00g
swap rhel -wi-ao---- 2.00g
vo test -wi-ao---- 200.00m
mks.xfs /dev/myvg/mylv #格式化
#mkfs.ext4或mkfs.xfs或mkfs.vfat
mkdir /volume #创建挂载点(名称任意)
vim /etc/fstab #永久挂载配置文件
在文件末尾手动添加如下内容:
/dev/myvg/mylv /volume xfs defaults 0 0
mount -a #读取/etc/fstab挂载所有分区
df -h
Filesystem Size Used Avail Use% Mounted on
... ...
/dev/mapper/myvg-mylv 1.6G 44M 1.6G 3% /volume
问题:前面创建了一个1.6G的逻辑卷,随着时间的推移,发现存储的资料越来愈多
发现容量不够!
可能性1:VG仓库中还有91个PE(1.42G),我们需要再给逻辑卷扩容1.42G,则可以直接扩展LV逻辑卷!
可能性2:VG仓库中还有91个PE(1.42G),我们需要再给逻辑卷扩容3G,但是VG中没有足够的PE了,则需要先扩容VG,再扩容LV
下面模拟VG空间不足,先扩容VG,再扩容LV
fdisk /dev/vdc
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 1 free)
e extended (container for logical partitions)
Select (default e): p回车
Selected partition 4
First sector (9439232-20971519, default 9439232): 回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (9439232-20971519, default 20971519): 回车
Command (m for help): w
vgextend myvg /dev/vdc4 #扩容VG
#把vdc4分区加入到myvg卷组仓库中
Physical volume "/dev/vdc4" successfully created.
Volume group "myvg" successfully extended
vgdisplay /dev/myvg
--- Volume group ---
VG Name myvg #VG名称
VG Size <8.47 GiB #VG容量
PE Size 16.00 MiB #PE大小
Total PE 542 #542个PE
Alloc PE / Size 100 / 1.56 GiB
Free PE / Size 442 / <6.91 GiB
lvextend -L 3G /dev/myvg/mylv #扩容LV
#把原来大约1.56G的逻辑卷,扩容到3G
Size of logical volume myvg/mylv changed from 1.56 GiB (100 extents) to 3.00 GiB (192 extents).
Logical volume myvg/mylv successfully resized.
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-ao---- 3.00g
df -h #查看文件系统容量
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mylv 1.6G 44M 1.6G 3% /volume
这里看到文件系统的容量依然是1.6G
xfs_growfs /volume/
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mylv 3.0G 54M 3.0G 2% /volume
如果分区格式化的是ext3、ext4,则执行 resize2fs /dev/myvg/mylv
不知道分区格式化类型可以执行命令查看# blkid /dev/myvg/mylv