linux-01 磁盘操作
- Linux
- 2024-01-22
- 39热度
- 0评论
1 磁盘划分
- 介绍在拿到新服务器后的磁盘划分操作,包括对默认的磁盘划分调整等
- 本次操作示例如下,具体情况
[root@zyb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 10G 0 lvm [SWAP]
└─centos-home 253:2 0 39G 0 lvm /home
sdb 8:16 0 150G 0 disk
sdc 8:32 0 150G 0 disk
sr0 11:0 1 1024M 0 rom
[root@zyb ~]# cat /etc/fstab
...
/dev/mapper/centos-root / xfs defaults 0 0
UUID=eac627a4-9225-4f28-b17f-24bd2217f040 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
1.1 调整默认磁盘
- 从上面示例可以看出,刚装好的系统默认/home目录挂载系统盘且磁盘格式为xfs,
xfs格式不方便后续的缩容
。 - 本人习惯把home目录独立于系统盘做单独挂载,后续项目都部署在home目录对应的普通用户家目录下
思路
:卸载home目录挂载,删除home逻辑卷,把腾出的卷组空间扩容root逻辑卷
卸载
# 卸载home目录挂载
[root@zyb ~]# umount /dev/mapper/centos-home
# 删除原有系统默认home逻辑卷
[root@zyb ~]# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed
[root@zyb ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- 10.00g
扩容
- 第一步卸载操作是卷组有了多余的空间,接下利用这个空间扩容root卷组
# 查看卷组剩余空间
[root@zyb ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <99.00g <39.00g
# root卷组扩容,注意上面显示空闲空间是小于39G的,所以我们实际扩容也相应给小
[root@zyb ~]# lvextend -L +38.98G /dev/mapper/centos-root
Rounding size to boundary between physical extents: 38.98 GiB.
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 88.98 GiB (22779 extents).
Logical volume centos/root successfully resized.
# 调整xfs格式文件系统大小
[root@zyb ~]# xfs_growfs /dev/mapper/centos-root
...
data blocks changed from 13107200 to 23325696
# 查看可扩容后的root逻辑卷大小及现有卷组大小
[root@zyb ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 88.98g
swap centos -wi-ao---- 10.00g
[root@zyb ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <99.00g 16.00m
调整挂载配置文件
- /etc/fstab文件应做以下调整
# 注释或删除原有home逻辑卷的自动挂载配置,建议直接删除此行
[root@zyb ~]# vi /etc/fstab
# /dev/mapper/centos-home /home xfs defaults 0 0
- 经过以上调整,盘结构如下
[root@zyb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 89G 0 lvm /
└─centos-swap 253:1 0 10G 0 lvm [SWAP]
sdb 8:16 0 150G 0 disk
sdc 8:32 0 150G 0 disk
sr0 11:0 1 1024M 0 rom
1.2 新磁盘分区
- 步骤1已经完成了对系统盘的默认配置调整
- 步骤2接下来将完成对sdb和sdbc磁盘的整合
思路
:sdb 和 sdc 磁盘将采用lvm方式划分,并进行ext4文件系统的格式化。且2块磁盘共同划为一个卷组,挂载在home目录
磁盘划分
- 分别先对 sdb 和 sdc 两块盘进行lvm划分
# sdb 分区,这里就分一个区。
[root@zyb ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-314572799,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-314572799,默认为 314572799):
将使用默认值 314572799
分区 1 已设置为 Linux 类型,大小设为 150 GiB
# 选择分区类型
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
# 查看已有分区
命令(输入 m 获取帮助):p
...
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 314572799 157285376 8e Linux LVM
# 保存退出
命令(输入 m 获取帮助):wq
# 执行一次分区表同步
[root@zyb ~]# partprobe
sdc的分区操作同理,这里不列出
- 经过上面的划分后,服务器磁盘结构如下
[root@zyb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 89G 0 lvm /
└─centos-swap 253:1 0 10G 0 lvm [SWAP]
sdb 8:16 0 150G 0 disk
└─sdb1 8:17 0 150G 0 part
sdc 8:32 0 150G 0 disk
└─sdc1 8:33 0 150G 0 part
sr0 11:0 1 1024M 0 rom
1.3 创建物理卷、卷组、逻辑卷
- 这里主要是对步骤二分区好的新分区进行物理卷、卷组、逻辑卷等划分
创建新物理卷
# 查看当前物理卷
[root@zyb ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <99.00g 16.00m
# 创建新物理卷
[root@zyb ~]# pvcreate /dev/sdb1 /dev/sdc1
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
# 查看现有物理卷
[root@zyb ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <99.00g 16.00m
/dev/sdb1 lvm2 --- <150.00g <150.00g
/dev/sdc1 lvm2 --- <150.00g <150.00g
- 至此,新物理卷创建完成
创建新卷组
- 需要使用上面分配的 sdb1 和 sdc1 两块物理卷创建一个新的卷组
# 查看当前卷组
[root@zyb ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <99.00g 16.00m
# 创建新卷组
[root@zyb ~]# vgcreate -s 16M zyb_vg /dev/sdb1 /dev/sdc1
Volume group "zyb_vg" successfully created
# 查看现有卷组
[root@zyb ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <99.00g 16.00m
zyb_vg 2 0 0 wz--n- <299.97g <299.97g
-s
卷组上的物理卷的PE大小,pe是卷组基本存储单元
- 至此,新卷组创建完成
创建逻辑卷
- 新逻辑卷将使用zyb_vg新卷组空间创建
# 查看当前逻辑卷
[root@zyb ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 88.98g
swap centos -wi-ao---- 10.00g
# 创建新逻辑卷
[root@zyb ~]# lvcreate -L 299.968G -n zyb_lv zyb_vg
Rounding up size to full physical extent <299.97 GiB
Logical volume "zyb_lv" created.
# 查看现有逻辑卷
[root@zyb ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 88.98g
swap centos -wi-ao---- 10.00g
zyb_lv zyb_vg -wi-a----- <299.97g
- 至此,新逻辑卷创建完成
逻辑卷格式化及挂载设置
- 使用ext4格式化
- 配置自动开机挂载
# 格式化
[root@zyb ~]# mkfs.ext4 /dev/zyb_vg/zyb_lv
mke2fs 1.42.9 (28-Dec-2013)
...
Writing superblocks and filesystem accounting information: 完成
# 配置开机挂载
# 临时挂载
[root@zyb ~]# mount /dev/mapper/aly_vg-aly_lv /home
# 开机挂载(永久挂载),添加以下信息
[root@zyb ~]# vi /etc/fstab
/dev/zyb_vg/zyb_lv /home ext4 defaults 0 0
- 磁盘结构如下
[root@zyb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 89G 0 lvm /
└─centos-swap 253:1 0 10G 0 lvm [SWAP]
sdb 8:16 0 150G 0 disk
└─sdb1 8:17 0 150G 0 part
└─zyb_vg-zyb_lv 253:2 0 300G 0 lvm /home
sdc 8:32 0 150G 0 disk
└─sdc1 8:33 0 150G 0 part
└─zyb_vg-zyb_lv 253:2 0 300G 0 lvm /home
sr0 11:0 1 1024M 0 rom
至此,我们已经完成磁盘划分的全部环境。后续可能会涉及到磁盘的缩容及磁盘的释放等操作,将持续更新
2 磁盘扩容
- 操作如下
# 分区,配lvm格式
fdisk /dev/sdd
# 同步分区表
partprobe /dev/sdd1
# 创建物理卷
pvcreate /dev/sdd1
# 扩展卷组
vgextend zyb_vg /dev/sdd1
# 扩展逻辑卷
lvextend -L +149.98G /dev/zyb_vg/zyb_lv
# 扩展文件系统 ext4
resize2fs /dev/zyb_vg/zyb_lv
# 扩展文件系统 xfs
# xfs_growfs /dev/zyb_vg/zyb_lv
3 ntfs格式分区
- 说明
- 需求:在linux服务器上挂载一块磁盘,其磁盘格式未ntfs,主要考虑后续会迁移到window
- 操作步骤如下
- 安装
ntfsprogs
包
# yum 源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo # 安装 yum -y install ntfsprogs
- 磁盘分区
# 本节以一个分区为例 fdisk /dev/sdb # 按 n 一直回车,把所有空间分给一个区,后保存退出 wq
- 格式化
mkfs.ntfs -f /dev/sdb1
- 挂载
# 先安装以下命令 yum -y install ntfs-3g # 临时挂载 mount -t ntfs-3g /dev/sdb1 /data # 永久挂载 vim /etc/fstab /dev/sdb1 /data ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0
- 查看分区信息
[root@share data]# blkid /dev/sdb1 /dev/sdb1: UUID="149484A8755803BB" TYPE="ntfs" PTTYPE="dos" PARTUUID="0de85c65-53be-419e-abc0-96507db92cdc"
- 安装