最近工作碰到一个需求,需要在Linux系统挂载另外的硬盘,实际操作后,整理出这篇教程。
工具
-
VMware
-
Linux系统
前期准备
如果是自己练习的话,可以通过Vmware新建一块空闲分区,用于练习,操作步骤如下:
- 给Vmware上的一台linux机器新增加一块硬盘,在需要增加的linux虚机上点击设置
- 在设备列表中,点击添加,选择硬盘,点击下一步
- 选择scsi类型的,继续进行下一步
- 选择创建新虚拟磁盘
- 添加一块10G的硬盘
- 给硬盘起个名字,可以的随便起,不重要
- 确认后硬盘添加完成,看到设备中已经多了一块10G的硬盘
- 登录上服务器后,查看硬盘情况
df -h
可以看到,可用磁盘中没有新增的那一块
fdisk -l
这时可以看到,现在Linux系统中,存在一块10G大小的磁盘,但未挂载上,还不能使用。
至此,前期准备就完成了,接下来开始将磁盘挂载到指定目录下,并开始使用它
挂载步骤
注:本篇文章只讲解操作步骤,若对其中使用的命令不了解请自行了解。
使用parted创建分区
- 使用parted命令对sdb进行分区
parted 要分区的磁盘路径
本文为 parted /dev/sdb
- 将MBR磁盘格式化为GPT(磁盘大于2T必须使用gpt类型)
mklabel gpt
- 创建一个分区,为主分区并且分区大小为整个磁盘
mkpart primary xfs 0% 100%
- 给分区打上lvm标签
toggle 1 lvm
- 打印分区信息,对刚才的操作进行核实
print
操作截图
- 使用fdisk -l查看完成情况
fdisk -l
可以看到/dev/sdb已经分区完成
注:此处操作硬盘与前期准备新建的不是同一块,故大小不一致。
将分区加入pv卷
- 查看当前pv卷
pvs
可以看到目前只有一个sda1
- 创建新的pv卷
pvcreate /dev/sdb1
并再次查看pv卷可以看到,已经创建成功了。
创建并将pv卷加入vg卷
- 查看当前vg卷
vgs
可以看到目前只有一个rootvg
- 创建新的vg卷,并将卷名命名为datavg
vgcreate datavg /dev/sdb1
并再次查看vg卷可以看到,已经创建成功了。
操作截图
创建并将vg卷加入lv卷
- 查看当前lv卷
lvs
- 创建逻辑卷
-L 指定分区大小 -n 指定lvm名称,本次命名为lv_desc_1
lvcreate -l +100%FREE -n lv_desc_1 datavg
并再次查看lv卷可以看到,已经创建成功了。
- 格式化lv卷
使用mkfs.xfs命令在逻辑卷lvmServer上创建xfs文件系统,格式化为xfs类型文件系统,运行性能好
mkfs.xfs /dev/datavg/lv_desc_1
操作截图
此时,我们的硬盘已经完全配置完成了,接下来将硬盘挂载到指定的目录下。
挂载到磁盘文件夹下
- 首先查看当前已挂载的硬盘,可以看到还是没有刚才配置的那块。
df -h
- 创建想挂载硬盘的目录
mkdir /app
- 将硬盘挂载到指定目录下
mount /dev/datavg/lv_desc_1 /app
再次查看挂载情况,可以看到已经挂载完成了。
操作截图
进入挂载目录,新建文件进行测试,磁盘可以正常读写就没问题了。
- 为了防止机器重启,导致硬盘无法自动挂载,新挂载硬盘必须增加开机自动挂载文件配置,编辑文件/etc/fstab增加如下信息:
文件中开头内容可对照df -h命令,挂载路径对应行的文件系统列,复制使用即可。
至此,磁盘就挂载完成了
磁盘扩容
实际工作中,会碰到硬盘用完了,增加新硬盘后,追加至同一块硬盘的需求。
此处的扩容实际操作为对lvm扩展分区大小
- 创建pv卷
依次重复挂载步骤中使用partedd创建分区与将分区加入pv卷操作
(1) 使用parted创建分区
(2) 将分区加入pv卷
- 将pv卷扩展到vg卷
假定物理卷组为/dev/sdb2,执行命令
vgextend datavg /dev/sdb2
- 对lv卷进行扩容
对lv进行在线(动态)扩容
lvextend -l +100%FREE /dev/mapper/datavg-lv_desc_1
- 刷新文件系统使扩容生效
xfs_growfs /dev/mapper/datavg-lv_desc_1
至此,磁盘就扩容完成了
评论区