@磁盘分区
磁盘使用前需要对其进行分区
磁盘的分区分为主分区和扩展分区
受限制于磁盘的分区表大小(MBR大小为512字节,其中分区表占64字节),每个分区信息使用16字节,所以一块磁盘最多只能创建4个主分区
为了能支持更多分区,可以使用扩展分区(扩展分区中可以划分更多逻辑分区),主分区+扩展分区不超过4个
@创建文件系统fdisk
1)在虚拟机设置中添加一块磁盘
2)重启虚拟机后,使用fdisk -l查看可以看到例如设备/dev/sdb
会提示还没有有效的分区表,即还未分区
3)fdisk /dev/sdb 进行分区
4)分区完成使用fdisk -l查看,发现/dev/sdb1……
5)格式化文件系统
mkfs -t ext3 /dev/sdb1 或 mkfs.ext3 /dev/sdb1
@磁盘挂载 mount
1)挂载磁盘 mount <DEVICE> <MOUNT_POINT>
mkdir newDisk
mount /dev/sdb1 newDisk
mount 显示所有挂载
df -h | grep sdb1 查看可用空间
2)设置启动自挂载
必须通过配置/etc/fstab使得系统在重启后能自动挂载
echo "/dev/sdb1 /root/newDisk ext3 defaults 0 0" >>/etd/fstab
/dev/sdb1挂载到/root/newDisk,文件系统是ext3
第四部分是使用系统默认的挂载参数
第五部分是决定dump命令在进行备份时是否要将这个分区存档,默认设0
第六部分是设定系统启动时是否对该设备进行fsck,这个值只可能是3种:1保留给根分区,其他分区使用2(检查完根分区后检查)或者0(不检查)
附:/etc/fstab文件内容是这个样子的
[root@xxx ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Dec 14 20:22:22 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=c7ed8ffc-7b9d-42f8-9492-f8f433a59321 /boot xfs defaults 0 0
/dev/mapper/rhel-home /home xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
[root@xxx ~]#
3)解除挂载 umount
umount命令的参数可以是设备路径或者挂载点
umount <DEVICE>
umount <MOUNT_POINT>
@Linux逻辑卷
逻辑卷就是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备
LVM是介于硬盘祼设备和文件系统的中间层
物理卷(Physical Volume,PV)物理磁盘分区,比如说/dev/sdb1。如果要想使用LVM来管理这个物理卷,可使用fdisk工具将其ID改为LVM可以识别的值(8e)。
卷组(Volume Group,VG)PV的集合
逻辑卷(Logic Volume,LV)PV中划出来的一块逻辑磁盘
首先创建一个或多个物理卷,物理卷按照相同(或不同)的组名称聚集形成一个(或多个)物理卷组,而逻辑卷就是从某个物理卷组中抽象出来的一块磁盘空间。
1)创建并查询物理卷 pvcreate,pvdisplay
创建完分区后,需要更改ID值为8e
fdisk /dev/sdc 输入t修改分区代码,根据提示输入L可以查看所有代码,输入代码8e
pvcreate /dev/sdc1
pvcreate /dev/sdc2
……
2)创建并查询卷组 vgcreate,vgdisplay
vgcreate <VG_NAME> <DEVICE1> ... <DEVICEn>
2-2)扩容卷组 vgextend
vgextend <VG_NAME> <DEVICE1> ... <DEVICEn>
3)创建并查询逻辑卷 lvcreate,lvdisplay
lvcreate -L SIZE -n LV_NAME VG_NAME
-L指定逻辑卷的大小
-n指定逻辑卷的名字
VG_NAME指定从什么卷组中分配空间
eg:lvcreate -L 100M -n First_LV First_VG
4)创建文件系统并挂载
eg:
mkfs.ext3 /dev/First_VG/First_LV
mkdir /root/newLV
mount /dev/First_VG/First_LV /root/newLV
参考书籍:《Linux系统命令及Shell脚本实践指南》王军 著,第4章 Linux文件系统