Linux磁盘管理
目录
1.硬盘分区结构
- 硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在1-4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号始终从5开始
2. 分区
2.1 硬盘分区说明
-
划分标准
- 硬盘分区由主分区、扩展分区和逻辑分区组成
- 在一块硬盘上,如果是MBR分区方式,那么它的主分区最多只能有4个,或者3个主分区和1个扩展分区;在扩展分区上我们可以创建多个逻辑分区
- 分区编号:主分区1-4 ,逻辑分区5... *
- LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上
-
分区作用
- 主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上
- 扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中
- 如果你用的是GPT的分区方式,那么它没有限制主分区个数
注意:从MBR转到GPT分区或者说从GPT转到MBR会导致数据全部丢失
2.2 查看磁盘信息
# fdisk -l # 列出磁盘列表
说明:
Device:分区名称Boot:是否是引导分区。是则有*标识
Start/End:分区的起始位置(柱面数)
Blocks:块,默认大小1024字节
ID:分区对应的系统ID号 (EXT4:83 LVM:8e)
System:分区类型
# lsblk # 列出所有可用块设备的信息及依赖关系,块设备有硬盘,闪存盘,CD-ROM等等
说明:
NAME :块设备名。
MAJ:MIN :主要和次要设备号。
RM :是否可移动设备。1为可移动设备
SIZE :本栏列出设备的容量大小信息
RO :该项表明设备是否为只读。RO值为0,表示不是只读
TYPE :显示块设备是否是磁盘或磁盘上的一个分区
MOUNTPOINT :设备挂载的挂载点
# cat /proc/partitions # 记录系统中所有硬盘及其上面的分区,包括已挂载和未挂载的
# blkid命令 # 显示关于可用块设备的信息
2.3 fdisk分区
-
大小不超过2T的分区可以使用fdisk命令分区
-
分区:fdisk [磁盘设备]
- m:查看操作指令的帮助信息
- p:列表查看分区信息
- l: 列出分区类型
- n:新建分区主分区
- e extended扩展分区
- p primary partition (1-4)逻辑分区
- l logical (5 or over)
- d:删除分区
- t:变更分区类型
- w:保存分区设置并退出
- q:放弃分区设置并退出
如分区不生效可使用 partprobe 或 partx -a 或重启
2.4 parted分区
-
大小超过2T的分区使用parted命令分区
-
格式:parted [选项] [分区设备]
parted /dev/sdb -
交互式状态下的常用命令
- q:保存退出
- p :打印
- mklabel :改变硬盘的文件类型(因为parted命令只能针对gpt格式的磁盘进行操作,所以这里必须将新建的磁盘标签格式设为gpt。)
- mkpart :分区(写分区名,文件系统类型,分区起始至结束点-可用百分比)
- print :打印分区信息
- rm :删除某分区 (#为分区号)
- recuse :援救误删分区
- mkfs.ext4 :分区后格式化
https://www.cnblogs.com/machangwei-8/p/10353690.htmlhttps://www.cnblogs.com/wholj/p/10924129.html
2.5 分区生效
# 1.使用fdisk命令创建分区
# 2.使用partx和partprobe使系统内核加载分区信息
# 3.使用lsblk或partx -s设备名查看修改后的设备分区信息
# 4.给分区做上文件系统
# 5.使用blkid命令查看设备信息,以及其文件系统等信息。
# 6.使用partx -s/ partx -l 查看分区信息如果出错,可能是信息未被登记,可使用partx -a 设备名来添加,再进行查看。
partprobe #分区之后,让内核更新分区信息,否则系统需要restart后,内核才能识别新的分区
partx -a #
reboot #系统重启
3. 创建swap分区
mkswap 分区设备 # 创建swap类型的文件系统
swapon、swapoff # 启用、停用交换分区
# dd创建swap分区
# 1.创建用于交换分区的文件:dd if=/dev/zero of=/swapfile bs=1M count=2048
注:block_size、number_of_block 大小可以自定义,比如 bs=1M count=1024 代表设置 1G 大小 SWAP 分区。
# 2.设置交换分区文件:mkswap /swapfile
# 3.立即启用交换分区文件:swapon /swapfile
这个命令可能会提示“swapon: /swapfile: insecure permissions 0644, 0600 suggested.”,意思是建议把swap设置成644或600权限。
https://blog.csdn.net/zhangxiaoyang0/article/details/82501209
4.LVM逻辑卷
-
作用:动态调整磁盘容量,从而提高磁盘管理的灵活性
-
PV:物理卷整个硬盘,或使用fdisk等工具建立的普通分区包括许多个默认4MB大小的PE
-
VG:卷组一个或多个物理卷组合而成的整体
-
LV:逻辑卷从卷组中分割出一块空间,用于建立文件系统
-
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
显示 | pvdisplay | (pvs) | vgdisplay (vgs) |
删除 | pvremove | vgremove | lvremove |
扩展 | vgextend | lvextend | |
减少 | vgreduce | lvreduce |
-
创建pv
pvcreate 设备名1 2... ... -
创建vg
vgcreate 卷组名 物理卷名1 物理卷名2
-
创建lv
lvcreate -L(-l pe个数) 容量大小 -n 逻辑卷名 卷组名 -
扩容lv
lvextend -L +大小 /dev/卷组名/逻辑卷名 -
刷新扩容
- resize2fs /dev/卷组名/逻辑卷名 # 其他格式刷新
- xfs_growfs /dev/卷组名/逻辑卷名 # xfs刷新扩容
-
缩容
Centos7的xfs文件系统不支持缩容 -
删除lvm
先删除逻辑卷,再删除卷组,最后删除物理卷
- lvremove /dev/卷组名/逻辑卷名
- vgremove /dev/卷组名/
- pvremove /dev/磁盘
5. 分区打label标签并挂载
-
ext2/ext3/ext4
e2label device [newlabel]
-
vfat/fat16/fat32/etc
dosfslabel device [label]
-
swap
swaplabel -L [label] dev
-
ntfs
ntfslabel [options] device [label]
-
xfs
xfs_admin -L [label] dev
-
fstab挂载
LABEL=标签名 挂载目录 文件系统类型 defaults,noatime,nodiratime,nofail 0 0