关于Linux添加硬盘和分区操作
一,整理下Linux标准文件系统分区分区格式分为MBR和DPT两种格式,MBR的初始化硬盘在建立完成前三个主分区后,会将剩下的空间划分成为拓展分区,然后在拓展分区里面划分出一部分作为逻辑分区,主分区+逻辑分区数量最多是4,且MBR单分区大小不超过2TGPT的初始化硬盘最多可以达到1024个主分区+拓展分区,GPT单分区最大18E实验采用VMware虚机进行,首先先挂载一块新的硬盘[root@loc
一,整理下Linux标准文件系统分区
分区格式分为MBR和DPT两种格式,
MBR的初始化硬盘在建立完成前三个主分区后,会将剩下的空间划分成为拓展分区,然后在拓展分区里面划分出一部分作为逻辑分区,主分区+逻辑分区数量最多是4,且MBR单分区大小不超过2T
GPT的初始化硬盘最多可以达到1024个主分区+拓展分区,GPT单分区最大18E
实验采用VMware虚机进行,首先先挂载一块新的硬盘
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel-root 253:0 0 61.2G 0 lvm /
├─rhel-swap 253:1 0 7.9G 0 lvm [SWAP]
└─rhel-home 253:2 0 29.9G 0 lvm /home
其中sda为新添加硬盘,我们如果想使用这块硬盘,必须通过分区->格式化->挂载后才可以使用
一共两种方式(MBR和GPT)
如果采用MBR的方式进行分区,就是用fdisk命令
如果采用GPT的方式进行分区,就是采用gdisk命令
手工创建分区(效率比较低)磁盘中是扇区个数定义大小,一个扇区是512b
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x038626de 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1): 1
第一个扇区 (2048-41943039, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +2g
创建了一个新分区 1,类型为“Linux”,大小为 2 GiB。
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# fdisk -l /dev/sda1
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 4196351 4194304 2G 83 Linux
现在分区已经建立完成,然后对该分区进行格式化处理,我们将分区格式化为ext4格式
[root@localhost ~]# mkfs.ext4 /dev/sda1
mke2fs 1.45.6 (20-Mar-2020)
创建含有 524288 个块(每块 4k)和 131072 个inode的文件系统
文件系统UUID:ce168cf8-211f-474a-b210-bbe6bb905928
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
新建挂载点,挂载该分区(临时挂载)
[root@localhost /]# mkdir /test
[root@localhost /]# mount /dev/sda1 /test
持续性挂载,需要将挂载信息写入/etc/fstab这个文件中
[root@localhost /]# vim /etc/fstab
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=36484481-6acc-4c2c-bb87-97eb57f91329 /boot xfs defaults 0 0
/dev/mapper/rhel-home /home xfs defaults 0 0
/dev/mapper/rhel-swap none swap defaults 0 0
/dev/sda1 /test ext4 defaults 0 0
这个文件中第一列是文件系统所在路径
第二列是文件系统挂载点
第三列是文件系统类型
第四列是挂载参数
第五列和第六列分别写0就可以
编辑完成后使用mount -a来使系统安装/etc/fstab文件来挂载系统,使用df -Th查看挂载信息
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 17M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 62G 2.3G 59G 4% /
/dev/nvme0n1p1 xfs 1014M 252M 763M 25% /boot
/dev/mapper/rhel-home xfs 30G 246M 30G 1% /home
tmpfs tmpfs 775M 0 775M 0% /run/user/0
/dev/sda1 ext4 2.0G 6.0M 1.8G 1% /test
添加完成
二,逻辑卷
1,建立新的逻辑卷
①简述
之前使用分区都是通过添加磁盘,分区,格式化然后挂载后使用,直接使用fdisk这种分区方式的话,这种分区叫做Linux的标准分区。
Linux的标准分区格式化成文件系统后,一旦空间使用完是无法扩容的(这种情况下只能将数据备份,换一块更大的硬盘,再将数据恢复回去,效率低)。
以上问题促使了逻辑卷的诞生
逻辑卷的工作原理是,将硬盘空间放入pv(物理卷),从pv划分出vg(卷组),再从vg划分出lv(逻辑卷),将lv进行格式化写入文件系统,然后挂载。
其中每个节点都可以扩容,且vg和lv不限制个数,这就解决了标准分区带来的无法扩容的问题
②.新建两个2G分区并划入新的pv(物理卷)里面
[root@localhost /]# fdisk /dev/sda -l | grep /dev/sda
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
/dev/sda1 2048 4196351 4194304 2G 83 Linux
/dev/sda2 4196352 8390655 4194304 2G 83 Linux
/dev/sda3 8390656 12584959 4194304 2G 83 Linux
可以看到/dev/sda2和/dev/sda3就是新建立的分区
③.将这两个分区添加到pv中
[root@localhost /]# pvcreate /dev/sda2
Physical volume "/dev/sda2" successfully created.
[root@localhost /]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <99.00g 0
/dev/sda2 lvm2 --- 2.00g 2.00g
/dev/sda3 lvm2 --- 2.00g 2.00g
④.新建vg卷组,名字是vg1,使用sda2分区
[root@localhost /]# vgcreate vg1 /dev/sda2
Volume group "vg1" successfully created
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <99.00g 0
vg1 1 0 0 wz--n- <2.00g <2.00g
⑤.拓展vg1这个卷组,将sda3也加入
[root@localhost /]# vgextend vg1 /dev/sda3
Volume group "vg1" successfully extended
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <99.00g 0
vg1 2 0 0 wz--n- 3.99g 3.99g
[root@localhost /]# vgdisplay #查看vg的详细信息
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 3.99 GiB
PE Size 4.00 MiB
Total PE 1022
Alloc PE / Size 0 / 0
Free PE / Size 1022 / 3.99 GiB
VG UUID O2qxpA-cDZC-1xuS-vHGd-Z9QV-6u08-aptxrA
⑥.在vg1中建立lv,name=lv1 大小是2g
[root@localhost /]# lvcreate -n lv1 -L 2g vg1 #-n指定lv名称 -L指定lv的大小
Logical volume "lv1" created.
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-ao---- 29.89g
root rhel -wi-ao---- <61.23g
swap rhel -wi-ao---- <7.88g
lv1 vg1 -wi-a----- 2.00g
⑦.格式化lv1 ,文件系统为ext4
[root@localhost /]# mkfs.ext4 /dev/vg1/lv1
⑧.新建目录,挂载lv1
[root@localhost /]# mount /dev/vg1/lv1 /lvtest/
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 17M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 62G 2.3G 59G 4% /
/dev/nvme0n1p1 xfs 1014M 252M 763M 25% /boot
/dev/mapper/rhel-home xfs 30G 246M 30G 1% /home
tmpfs tmpfs 775M 0 775M 0% /run/user/0
/dev/sda1 ext4 2.0G 6.0M 1.8G 1% /test
/dev/mapper/vg1-lv1 ext4 2.0G 6.0M 1.8G 1% /lvtest
新建逻辑卷完成
二,扩容逻辑卷
①当vg容量充足时,直接增加lv的容量
[root@localhost /]# lvextend /dev/vg1/lv1 -L 3g
Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).
Logical volume vg1/lv1 successfully resized.
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-ao---- 29.89g
root rhel -wi-ao---- <61.23g
swap rhel -wi-ao---- <7.88g
lv1 vg1 -wi-ao---- 3.00g
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg1-lv1 ext4 2.0G 6.0M 1.8G 1% /lvtest
②添加了lv1的大小但是挂载的文件系统还没有发生改变,是因为还没有格式化,现进行格式化
[root@localhost /]# resize2fs /dev/vg1/lv1
resize2fs 1.45.6 (20-Mar-2020)
/dev/vg1/lv1 上的文件系统已被挂载于 /lvtest;需要进行在线调整大小
old_desc_blocks = 1, new_desc_blocks = 1
/dev/vg1/lv1 上的文件系统现在为 786432 个块(每块 4k)。
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 17M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 62G 2.3G 59G 4% /
/dev/nvme0n1p1 xfs 1014M 252M 763M 25% /boot
/dev/mapper/rhel-home xfs 30G 246M 30G 1% /home
tmpfs tmpfs 775M 0 775M 0% /run/user/0
/dev/sda1 ext4 2.0G 6.0M 1.8G 1% /test
/dev/mapper/vg1-lv1 ext4 2.9G 6.0M 2.8G 1% /lvtest
可以看到lv1已经变为大小3G,操作完成,
临时挂载,如果要变成持续性挂载,需要将配置写入/etc/fstab文件中。
更多推荐
所有评论(0)