本文主要是介绍Ubuntu12下挂载硬盘(9TB)Shell版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、背景
我们的服务器上安装了Ubuntu Server 12.04版本,由于开发环境的问题,所以没有上CenteOS或者Red Hat,我们有几块大的硬盘,需要通通挂载到root目录下,这个挂载的方式跟Windows是不太一样的。
单台机器的挂载方法可以参考:Ubuntu12下挂载硬盘(9TB),如果我们需要安装N台机器的话,我们有什么好的办法呢?难道要一台一台的安装不成?不,这个时候Shell可以帮助你。
二、挂载详细命令
1. 先查看一下磁盘信息
ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
/dev/sda1 /dev/sda5 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
2. 格式化
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.ext4 /dev/sdc1
sudo mkfs.ext4 /dev/sdd1
sudo mkfs.ext4 /dev/sde1
sudo mkfs.ext4 /dev/sdf1
3. 创建PV
sudo pvcreate /dev/sdb1
sudo pvcreate /dev/sdc1
sudo pvcreate /dev/sdd1
sudo pvcreate /dev/sde1
sudo pvcreate /dev/sdf1
4. 查询卷的情况,获得VG名
sudo vgdisplay
VG Name ubuntu1
5. 加入VG(注意使用查询得到的VG名)
sudo vgextend ubuntu1 /dev/sdb1
sudo vgextend ubuntu1 /dev/sdc1
sudo vgextend ubuntu1 /dev/sdd1
sudo vgextend ubuntu1 /dev/sde1
sudo vgextend ubuntu1 /dev/sdf1
6. 获得可用PE大小(Free PE)
sudo vgdisplay
Alloc PE / Size 471797 / 1.80 TiB
Free PE / Size 1912136 / 7.29 TiB
7. 获得LV名
sudo lvdisplay
LV Name /dev/ubuntu1/root
8. 增加LV
sudo lvextend -l+1912136 /dev/ubuntu1/root
9. 修改容量
sudo resize2fs /dev/ubuntu1/root
10. 查看效果
df –h
三、Shell脚本
我们需要通过Shell脚本,把上面的所有命令都自动化,我们可以通过内网ssh远程到每一台机器上执行。下面是具体的脚本代码:
# ssh 通过某一台机器进行远程
ssh 192.168.0.1
# 模拟用户登录,输入yes和密码
yes
password
# 创建一个g.sh的脚本
vi g.sh
# 进入脚本编写
i
#!/bin/bash
# 获取主机名
name=$(hostname)
# 下面循环格式化
for i in sdb1 sdc1 sdd1 sde1 sdf1
do
# 格式化$i,$i表示sdb1等
sudo mkfs.ext4 /dev/$i
# 循环结束
done
# 下面循环创建PV
for j in sdb1 sdc1 sdd1 sde1 sdf1
do
# 创建PV$i,$i表示sdb1等
sudo pvcreate /dev/$j
# 循环结束
done
# 下面循环加入VG
for h in sdb1 sdc1 sdd1 sde1 sdf1
do
sudo vgextend $name /dev/$h
done
# 增加LV容量
sudo lvextend -l+1912136 /dev/$name/root
# 刷新容量
sudo resize2fs /dev/$name/root
# 修改g.sh文件的权限
chmod 777 g.sh
# 执行脚本文件g.sh
./g.sh
# 执行需要输入的密码
passwod
四、挂载效果图
(图1:挂载前)
这篇关于Ubuntu12下挂载硬盘(9TB)Shell版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!