linux磁盘批量分区格式化和挂载脚本

简介:

 昨天接到一个任务,十台机器,需要分区和挂载,每台机器有6块盘符,如果一台一台手工操作,效率不高,我在弄完一台,尝试写了个脚本,来实现批量部署!以下是脚本运用

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  [root@hadoop6 ~]# vim parted.sh 
#!/bin/bash
#
#
yum install -y parted
sleep 1s
yum install -y vim
sleep 1s
#####################################################################
myFile=/root/test1
 
if  [ ! -x  "$myFile"  ];then
     touch  "$myFile"
fi
i= 0
b= 1
for   disk  in  `fdisk -l | grep  "/dev/vd*"  | awk  '{if($2~/vd/ && $2!="/dev/vda:" && $2!="/dev/vdb:") print substr($2,0,8)}' `
do
          parted $disk  << EXIT
          mklabel gpt
          mkpart primary  0  - 1
          ignore
          quit
EXIT
        mkfs.ext4 $disk$b
echo  "/n/n****************$disk_was Fdisked!Waithing For 10 second****/n/n"
sleep 1s
         uuid=`blkid $disk$b | awk  '{print $2}' |awk -F "\""  '{print $2}' `
         if  [ ! -d  "myPath"  ];then
            mkdir /data$i
        fi
         cat << EXIT > /root/test1
UUID=$uuid      /data${i}       ext4    defaults                 1  2 
EXIT
         cat /root/test1 >> /etc/fstab
i=$(($i +  1 ))
done
  
######################################################################
mount -a
1
2
3
4
5
6
7
8
9
10
11
[root@hadoop6 ~]# df
Filesystem               1K-blocks    Used  Available Use% Mounted on
/dev/mapper/vg0-lv_root    12179756  2680964     8880092   24 % /
tmpfs                      16439788        0    16439788    0 % /dev/shm
/dev/vda1                    198337    28603      159494   16 % /boot
/dev/vdc1                4227572676   198680  4012625684    1 % /data0
/dev/vdd1                4227572676   198680  4012625684    1 % /data1
/dev/vde1                4227572676   198680  4012625684    1 % /data2
/dev/vdf1                4227572676   198680  4012625684    1 % /data3
/dev/vdg1                4227572676   198680  4012625684    1 % /data4
/dev/vdh1                4227572676   198680  4012625684    1 % /data5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@hadoop6 ~]# vim /etc/fstab
 
#
# /etc/fstab
# Created by anaconda on Wed Mar   5  14 : 32 : 01  2014
#
# Accessible filesystems, by reference, are maintained under  '/dev/disk'
# See man pages fstab( 5 ), findfs( 8 ), mount( 8 ) and/or blkid( 8 for  more info
#
/dev/mapper/vg0-lv_root /                       ext4    defaults         1  1
UUID=0a17f48d-f99b- 4498 -82a5-a0874f25f1e7 /boot                   ext4    defaults         1  2
/dev/vdb1       swap    swap    defaults         0  0
tmpfs                   /dev/shm                tmpfs   defaults         0  0
devpts                  /dev/pts                devpts  gid= 5 ,mode= 620   0  0
sysfs                   /sys                    sysfs   defaults         0  0
proc                    /proc                   proc    defaults         0  0
UUID=9ff86747-384f-4a37-adab-1ac5abd98dff      /data0       ext4    defaults                 1  2 
UUID=bd6103cf- 9774 -4e31-87bb-33df4fbea47e      /data1       ext4    defaults                 1  2 
UUID=81a1b153-279f-454c-b23c-07744203b65a      /data2       ext4    defaults                 1  2 
UUID=ae66663e- 0879 - 4622 -bb68-94bb045f9719      /data3       ext4    defaults                 1  2 
UUID=aab4c3f0-344a- 4309 -8ec0-c87017b5179d      /data4       ext4    defaults                 1  2 
UUID=0d4a6b2f-99dd-4a87-9d48-6090c3863ba3      /data5       ext4    defaults                 1  2 
~









本文转自 zouqingyun 51CTO博客,原文链接:http://blog.51cto.com/zouqingyun/1689231,如需转载请自行联系原作者
目录
相关文章
|
4天前
|
Linux
linux查看磁盘容量和清理磁盘
linux查看磁盘容量和清理磁盘
12 5
|
7天前
|
Linux 数据处理
Linux中的numfmt命令:数字格式化的强大工具
**numfmt命令在Linux中用于数字格式化,如转换进制、添加千位分隔符、处理字节单位。它支持从文件读取数字并能自定义分隔符、小数位数。例如:`numfmt 12345` 输出12,345(十进制),`numfmt -b 255` 输出11111111(二进制),`numfmt --to=iec 1000000` 输出976.6K(字节单位)。使用时注意选项组合及单位标准。**
|
13天前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
13天前
|
监控 Linux Shell
Linux命令ionice:优化磁盘I/O优先级
`ionice`是Linux工具,用于调整进程的磁盘I/O优先级,改善系统响应。它设置三种I/O调度类:Idle(低优先级),Best-effort(默认)和Real-time(高优先级)。通过 `-c` 和 `-n` 参数分别设定调度类和优先级。示例:`ionice -c3 -n7 command`(低优先级I/O)和`ionice -c2 -p 1234`(改变PID为1234的进程为Idle类)。使用时注意平衡系统资源,避免干扰其他任务,并结合`iostat`、`iotop`监控性能。
|
16天前
|
Linux
蓝易云 - 无法修改BIOS情况下Linux切换根目录到其他磁盘
注意:这个过程涉及到系统的关键部分,如果操作不当,可能会导致系统无法启动。在进行操作之前,确保你已经做好了充分的备份,并且熟悉这个过程。如果可能,最好在一个没有重要数据的测试系统上进行尝试。
13 1
|
2天前
|
Linux
Linux每五分钟执行一次某个脚本的定时任务如何写
【6月更文挑战第28天】Linux每五分钟执行一次某个脚本的定时任务如何写
4 0
|
3天前
|
Linux 数据处理
Linux中的pr命令:数据格式化与打印的艺术
`pr`命令是Linux下用于文本格式化的工具,擅长分页、设置页眉页脚及列宽,方便打印和阅读。它可以处理文件、管道输入,常用参数如 `-h` 设定页眉,`-t` 设置页脚,`-l` 控制每页行数,`-w` 设置列宽。例如,`pr -h &quot;标题&quot; -t &quot;页码:%d&quot; -l 2 file.txt` 可以将文本文件格式化并添加定制的页眉页脚。结合其他命令使用能增强文本处理能力。记得测试输出,了解详细帮助可查阅`man pr`。
|
3天前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
|
3天前
|
Linux
Linux挂载磁盘的过程
Linux挂载磁盘的过程
4 0
|
11天前
|
网络协议 Linux Shell
【权限提升】Linux系统&Docker挂载&Rsync未授权&Sudo-CVE&Polkit-CVE
【权限提升】Linux系统&Docker挂载&Rsync未授权&Sudo-CVE&Polkit-CVE