[脚本]为所有节点挂载磁盘

1. 循环遍历所有节点

#!/bin/bash

IpPrefix=192.168.1.
User=root
Pwd=000000

for((i=84;i<148;i++))
do
{
        ./remote.exp $IpPrefix$i $User $Pwd  >> tmp/$i
        echo "$i done!"
}&
done

2. 拷贝文件到所有节点

#!/usr/local/bin/expect -f

set timeout -1

set IpAddr [lindex $argv 0]
set User [lindex $argv 1]
set Pwd [lindex $argv 2]

spawn ssh [email protected]$IpAddr "cd /home/; rm -rf packages/; mkdir packages"
expect  {
        "yes/no" { send "yes\n"; expect "*assword:" { send "$Pwd\n" } }
        "*assword:*" { send "$Pwd\n"; }
}
expect eof

spawn scp -r packages [email protected]$IpAddr:/home/
expect "*assword:*" { send "$Pwd\n"; }
expect eof

spawn ssh [email protected]$IpAddr "cd /home/packages;./install.sh;"
expect "*assword:*" { send "$Pwd\n"; }
expect "*mount finished*" { send \003 }
expect eof

3. 所有节点上执行脚本

packages/install.sh

#!/bin/bash
./installExpect.sh
disk=`sh getDisk.sh`
disk="${disk//\//\\/}"
flag=`blkid | awk "/^${disk}/" | cut -d ‘"‘ -f 4`
if [ "$flag" == "ext4" ]; then
        echo "Already mkfs..."
else
        ./mkfs.exp
fi
tune2fs -c -1 -i 0 /dev/sdb
mv /home/iscas/ /home/iscas2/
mkdir /home/iscas/
UUID=`tune2fs -l /dev/sdb | awk ‘/^Filesystem UUID:/{print $3}‘`
echo -e "UUID=$UUID\t/home/iscas\text4\tdefaults\t1\t2"  >> /etc/fstab

mount -a
mv /home/iscas2/* /home/iscas/
rm -rf /home/iscas2/

echo "mount finished"

4. 获取节点最大磁盘名称

packages/getDisk.sh

#!/bin/bash
disk=`fdisk -l 2>/tmp/null | awk ‘BEGIN{Max=0} {if($0~/^Disk \//){if($3>Max){disk=$2}}} END{print disk}‘ | cut -d : -f 1`
echo $disk

5. 格式化最大磁盘

packages/mkfs.exp

#!/usr/bin/expect -f

set timeout -1
set disk [exec sh getDisk.sh]
spawn mkfs -t ext4 $disk
expect  "(y,n)" { send "y\r";}
expect eof

6. 挂载磁盘并设置属性

tune2fs -c -1 -i 0 /dev/sdb
mkdir /home/iscas/
UUID=`tune2fs -l /dev/sdb | awk ‘/^Filesystem UUID:/{print $3}‘`
echo -e "UUID=$UUID\t/home/iscas\text4\tdefaults\t1\t2"  >> /etc/fstab
mount -a
时间: 2024-08-13 02:44:49

[脚本]为所有节点挂载磁盘的相关文章

自动挂载磁盘脚本

完善了一下公司自动初始服务器的脚本,添加了自动挂载磁盘的脚本,写的比较烂,但是还是记录一下,以供以后参考,在初始化服务器脚本里面调用了mountdisk.sh脚本,mountdisk.sh里面又调用了format.sh脚本,脚本内容如下: mountdisk.sh: #!/bin/bash disk=/dev/sdb1 if [ `df -h|grep $disk|wc -l` == 1 ];then echo "disk $disk is mount" exit fi if [ ! 

shell 脚本实战笔记(4)--linux磁盘分区重新挂载

背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt/diska时, HDFS会选择根分区, 当往HDFS里灌数据时, 导致的结果往往是根分区被快速的消耗尽, 而其他分区未见使用. 在CDH版本中, HDFS的配置如下所示: dfs.datanode.data.dir => /mnt/disk{N}/dfs/dn dfs.datanode.data.

修改SNMP端口并利用snmpwalk测试,nagios监控,脚本读取后筛选出磁盘占用空间的值

############################################################插入一个信息Handy.sh里,Linux下如果要根据read到的nl序号筛选出目录名.需要用以下表达式:folder_name=ls -l "$DIR" | awk -F" " '{ print $9 }' | grep -v Handy.sh | nl | grep '\ '"$REPLY"$'\t' | a<br/&

Linux根据UUID自动挂载磁盘分区

一般服务器都有多个硬盘分区,在重启后,这些分区的逻辑位置加载时可能会发生变动,如果使用传统的设备名称(例如:/dev/sda)方式挂载磁盘,就可能因为磁盘顺序变化而造成混乱. Linux环境中每个Block Device都有一个全局唯一的UUID,可以标识这个设备,我们可以在fstab中使用UUID替换设备名称,这样就不会产生上述混乱的情况了. 1.以sdb1为例,首先使用lsblk命令可以清晰的获取全局的块设备布局 2.然后,使用blkid命令可以获取设备的UUID.复制记下sdb1的UUID

RHEL5.8配置开机自动挂载磁盘

Linux环境中可以通过fstab来设置自动挂载磁盘或者共享存储,操作如下: fstab配置文件路径:/etc/fstab 每行代表一个存储位置. [[email protected] ~]# cat /etc/fstab LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0

挂载磁盘

2.1虚拟机硬盘分区 步骤1:通过root用户执行如下命令,查看映射到虚拟机上的第二块磁盘是否成功 # fdisk –l 如下图所示,说明磁盘映射成功,但是还不存在可用的分区表 步骤2:通过root用户执行如下命令 # fdisk /dev/xvdb (这边的xvdb是根据fdisk –l命令得到的结果,有可能是xvde) 步骤3:输入“m”回车 步骤4:接下来我们要创建新的分区,所以要输入“n”然后回车 步骤5:然后根据提示,创建主分区,输入“p”回车 步骤6:然后输入“1”回车 步骤7:然后

linux挂载磁盘

折腾新服务器时发现所有服务器都只有一块小磁盘,按照服务器的配置表是都配了两块磁盘的,需要将第二块大磁盘挂载上,默认挂载的是系统磁盘 挂载方法: 1: # fdisk -l    查看未挂载磁盘的名字:如/dev/xvde 2:将磁盘格式化:# mkfs -t ext3   /dev/xvde 3: 新建挂载目录:# mkdir  /data 4:将磁盘挂载到指定目录:#mount  /dev/xvde  /data 5: 查看:#df -h

Linux如何根据UUID自动挂载磁盘分区

一般服务器都有多个硬盘分区,在重启后,这些分区的逻辑位置加载时可能会发生变动,如果使用传统的设备名称(例如:/dev/sda)方式挂载磁盘,就可能因为磁盘顺序变化而造成混乱. Linux环境中每个Block Device都有一个全局唯一的UUID,可以标识这个设备,我们可以在fstab中使用UUID替换设备名称,这样就不会产生上述混乱的情况了. 1.以sdb1为例,首先使用lsblk命令可以清晰的获取全局的块设备布局. 2.然后,使用sudo blkid命令可以获取设备的UUID.复制记下sdb

ASM实例挂载磁盘失败错误日志

ERROR: no read quorum in group: required 2, found 0 disks ERROR: Could not heartbeat PST for grp 5. Force dismounting the disk group. ERROR: no read quorum in group: required 2, found 0 disks ERROR: Could not heartbeat PST for grp 5. Force dismountin