linux 挂载_linux磁盘挂载与批量挂载

记录一下磁盘挂载的经历,背景是这样的,业务运行时有大量的日志文件产生,因此给服务器挂载一个数据盘。

先普及几个查看linux磁盘空间的命令:

df -h 查看磁盘空间

du -m 查看当前目录下各个文件占用存储空间大小,单位为MB

fdisk -l 查看当前磁盘分区信息

1.查看磁盘信息

使用fdisk -l查看当前磁盘分区信息,还有一个200+GB的数据盘可以使用

sudo fdisk -l

3b2426dca39a1bce45c47985a13a9301.png

2.新建分区

发现有路径为/dev/vdb可以来挂载,使用fdisk命令进行磁盘挂载

sudo fdisk /dev/vdb 

接下来进入交互界面,相关命令如下:

命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

(1)输入n,add a new partition,增加一个分区

(2)一直默认 回车就可以,连续4次默认

(3)输入w,write table to disk and exit

3.格式化新建好的分区

建立文件系统,mkfs.xfs或者mkfs.ext4分别建立xfs和ext4文件系统,由于xfs的兼容性和可扩展性更强,这里我们选择xfs作为文件系统

sudo mkfs.xfs /dev/vdb1

4.使用mount命令进行挂载

(1) 新建目录

挂载前需要先将文件夹清空,不然挂载后之前文件夹里面的内容就无法显示。

mkdir -p /home/admin/logs

(2)挂载

sudo mount /dev/vdb1 /home/admin/logs

至此,磁盘就已经挂载好了。

可是一个集群那么多机器,总不能一台一台手动挂载吧,太麻烦了,优秀的程序员应该具有lazy的特质。

接下来,pssh工具隆重登场,pssh是python写的批量操作神器,可用来实现批量操作,如kill进程、部署、启动服务等。

先在管理机器上安装pssh工具,pssh工具语法如下:

pssh [-vAiIP] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] command ...
-h host_file 表示要控制的IP,IP都存放在host_file这个文件中
-i 表示执行完命令后显示标准输出和error(Display standard output and standard error as each host completes)
-t 设定pssh命令超时,这个值给0时,pssh默认不会超时

下面将前面磁盘挂载的命令写成脚本,细心的同学会注意到,有交互命令,怎么写成脚本呢?

这里可以通过EOF来实现,直接上代码吧,<<EOF表示交互命令开始,EOF表示结果,中间有4行,表示4个回车.

sudo fdisk /dev/vdb << EOF
n




w
EOF
sudo mkfs.xfs /dev/vdb1
sudo mkdir -p /home/admin/logs
sudo mount /dev/vdb1 /home/admin/logs

保存为disk-mount.sh文件,将这些文件都通过pscp拷贝到这些所有机器上,再通过pssh命令完成磁盘的批量挂载

pssh -h ip_list  -i -t 0 "sudo sh disk-mount.sh"

5.设置开机启动

挂载完成之后,需要设置开机自动启动,否则,下次重启系统后会出现找不到挂载点。这里可以使用UUID来进行挂载,通过blkid获取磁盘的UUID

33f8285b96445447ada514da97a826f5.png

然后修改/etc/fstab,添加UUID及相关信息,这个文件里面有6列,分别对应如下信息:

第1列是设备名或者卷标

第2列是挂载点(也就是挂载目录)

第3列是所要挂载设备的文件系统或者文件系统类型

第4列是挂载选项,通常使用defaults就可以

第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小

第6列设置是否开机的时候使用fsck检验所挂载的磁盘,置0为不检验,置1,2为检验,但置2盘比置1的盘晚检验。

添加一行,下次重启后就可以自动挂载了。

UUID=3d0d9d80-9777-4ec9-ab01-8e94b7dc387b /home/admin/logs ext4  defaults  1  2

参考:

[1] https://linux.die.net/man/1/pssh

[2] Linux下磁盘挂载 - silent - 博客园

[3] 运维自动化轻量级工具pssh - Dicky_Zhang - 博客园

[4] https://blog.csdn.net/dahuzix/article/details/80316920

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值