背景1:关于磁盘挂载的知识是在新冠肺炎蔓延流行时学到的。当时是在某地市的宾馆里面。
背景2:核酸系统需要部署。新给到的服务器linux系统又有新的磁盘需要被挂载。咨询提供服务器的厂商要求挂载,但他们的反馈是这个事情与他们无关,只提供服务器以及系统的安装而已。
背景3:请求自己公司运维的同事解决了这个问题。后来长时间的使用这篇文章中磁盘挂载的内容。并且写成了自动化的脚本。只需要按照脚本运行时的提示进行确认安装就能够执行完成。
目录
一、命令解读
二、自动化脚本呈现
总结
一、命令解读
注:脚本未做过更改。如果尝试使用,先做测试再自定义修改满足自己的需要即可
fdisk 注:fdisk是一个分区管理命令,最常用的是-l,列出分区表。
read 注:read命令从键盘读取变量的值,shell脚本中与用户进行交互。
mkfs 注:mkfs命令是Linux中的一个用于创建文件系统的命令。它可以将一个磁盘分区格式化为指定的文件系统类型
>> 注:会在原有内容后追加内容,如果文件不存在,直接创建文件
mount 注:Linux系统下目录可以挂载不同分区和磁盘设备目录。磁盘分区是分离的,通过挂载可以自由组合
二、自动化脚本呈现
注:脚本中使用 # 做注释描述当前命令的功能
shell
# 1. 查看磁盘了解磁盘挂载情况,避免挂错
# 设置变量a, 用于等待设备输出(键盘输入)
# 设置变量DISK_NAME, 用于记录要挂载的磁盘名称
a=
echo "look aroud fdisk"
fdisk -l
DISK_NAME=
# 2. read DISK_NAME ... 等待输入磁盘目录,
# if [ -z "$DISK_NAME" ] 意思:如果输入内容为空(也就是直接回车),默认使用/dev/vdb目录
echo "you want disk load name, ex: /dev/vdb"
read DISK_NAME < /dev/tty
if [ -z "$DISK_NAME" ]; then
DISK_NAME=/dev/vdb
fi
# 3. 当你执行 fdisk $DISK_NAME 命令时,会进入一个交互式的分区编辑器来增删改新的磁盘分区
fdisk $DISK_NAME
# 4. 在指定的磁盘或分区上创建一个 ext4 文件系统
echo "config fs type. ex: mkfs -t ext4 ${DISK_NAME}"
mkfs -t ext4 ${DISK_NAME}
# 5. 创建要挂载的目录
echo "make directory name /msun"
mkdir /msun
# 6. 挂载分区到目录
echo "load disk to /msun"
mount ${DISK_NAME} /msun
# 7. 将变量的值追加到文件末尾
# 追加到/etc/fstab用于将本次磁盘挂载持久化,开机重启挂载依然能用。
echo "permanent disk load point to ${DISK_NAME} and can be used even restart machine"
perm_data="${DISK_NAME}"' /msun ext4 defaults 0 0'
echo "perm data: ${perm_data}: "
read a < /dev/tty
echo ${perm_data} >> /etc/fstab
总结
1. 自动化脚本的好处
注:开始手动执行,效率非常低。所以对效率的提升,做脚本非常有效。
2. 后期更新redis集群脚本部署
注:后期还会更新redis集群的部署脚本。相比于这次展示的脚本复杂了许多。
3. 脚本编写总结
注:就像编程或者学习某项技能和本领一样。都需要不断练习和学习前辈的经验和代码。多做尝试。另外就是多加总结了。越来越感觉总结很重要。是种结晶,升华的东西。