安装大数据平台,每台机器需要挂载10个磁盘,用JBOD模式,操作系统为RHEL7.2。

写了两个脚本,format_disk.sh和mount_disk.sh实现磁盘自动分区格式化以及挂载,修改fstab。

format_disk.sh

#!/bin/bash
disks=(sdb sdc sdd sde sdf sdg sdh sdi sdj sdk)
for ((i=;i<${#disks[*]};i++))
do
mounted=`mount|grep "/mnt/${disks[i]}"`
if [ "$mounted" ] ; then
echo "umount /mnt/${disks[i]}"
umount /mnt/${disks[i]}
fi
echo "make partition /dev/${disks[i]}"
parted -s /dev/${disks[i]} mklabel gpt
parted -s /dev/${disks[i]} mkpart primary xfs % %
echo "format disk /dev/${disks[i]}"
mkfs.xfs -f -L ${disks[i]} /dev/${disks[i]}
done
echo -n "reboot?"
read ANS
case $ANS in
y|Y|yes|Yes)
echo "run mount_disk.sh after rebooting"
reboot
;;
n|N|no|No)
exit
;;
esac

mount_disk.sh

#!/bin/bash
rm -f fstab
cp /etc/fstab . -f
cat fstab
>fstab.new
sed -e '/\/mnt\/sd/d' fstab > fstab.new
cat fstab.new
disks=(sdb sdc sdd sde sdf sdg sdh sdi sdj sdk)
for ((i=;i<${#disks[*]};i++))
do
mounted=`mount|grep "/mnt/${disks[i]}"`
if [ "$mounted" ] ; then
echo "umount /mnt/${disks[i]}"
umount /mnt/${disks[i]}
fi
if [ ! -d "/mnt/${disks[i]}" ]; then
mkdir /mnt/${disks[i]}
fi
UUID=`lsblk -f /dev/${disks[i]}|grep "^${disks[i]} " |awk '{print $4}'`
if [ "$UUID" ]; then
echo "write partition to fstab.new"
echo "UUID=${UUID} /mnt/${disks[i]} xfs defaults 0 0" >> fstab.new
fi
done
cat fstab.new
echo -n "use this for /etc/fstab?"
read ANS
case $ANS in
y|Y|yes|Yes)
cp fstab.new /etc/fstab -f
mount -a
mount
;;
n|N|no|No)
exit
;;
esac

RHEL7磁盘分区挂载和格式化的更多相关文章

  1. Linux crond任务调度(定时任务),Linux磁盘分区/挂载

    一.crond任务调度 1.基本语法 crontab [选项] -e : 编辑 crontab定时任务 -l : 查询crontab -r : 删除当前用户所有的crontab任务 例子: 每分钟执行 ...

  2. aix磁盘分区挂载问题

    aix在进行磁盘分区挂载时,可能会报错

  3. Linux下磁盘分区挂载

    一般你去买vps都会看到介绍说硬盘多少G  比如 80G 但是你进入系统df -h的时候发现怎么只有10G呢, 其实这10G是用来装系统的和一些常用服务软件的  不是给你放网站数据的 那50G硬盘在哪 ...

  4. CentOS 7 增加磁盘分区挂载(lvm)

    1.查看主机现有磁盘情况 # fdisk -l 现在主机中存在一块8G的磁盘sdb,尚未分区挂载,所以需将磁盘进行分区挂载. 2.对磁盘进行分区 # fdisk /dev/sdb   (选择要操作分区 ...

  5. Linux 磁盘 分区 挂载点的理解

    在Linux中一切皆文件: 虚拟文件系统(Virtual File System, 简称 VFS), 是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口:同时,它也提供了内核中的 ...

  6. 大于2t的磁盘分区,并格式化ext4挂载

    1:MBR分区表:(MBR含义:主引导记录) 所支持的最大卷:2T (T; terabytes,1TB=1024GB) 对分区的设限:最多4个主分区或3个主分区加一个扩展分区. 2:GPT分区表:(G ...

  7. Linux系统磁盘分区、删除分区、格式化、挂载、卸载、开机自动挂载的方法总结

    Linux系统按照MBR(Master Boot Record)传统分区模式: 注意:传统的MBR(Master Boot Record)分区方式最大只能分2T容量的硬盘,超过2T的硬盘一般采用GPT ...

  8. Linux的VMWare中Centos7磁盘分区管理 fdisk分区和制作文件系统格式化和开机自动挂载

    一.硬盘的组成零件扇区 磁道 磁盘容量 磁盘分区 简介 硬盘由容量.柱面数.磁头数.扇区数 C/H/S, Cylinder, Head, Sector(柱面/磁头数/扇区数) 1.磁头数表示硬盘总共有 ...

  9. linux中磁盘分区以及如何将磁盘挂载到系统中

    fdisk 分区 fdisk /dev/sdb -p查看当前分区-t 改分区号-w将分区表写进磁盘-n创建分区 -p主分区 -e拓展分区 partprobe 让内核更新分区信息cat /proc/pa ...

随机推荐

  1. mini2440 MJPG_STREAMER 产生问题

    usb摄像头芯片是中芯微的zc0301pl, http://www.vimicro.com.cn/product/pdf/ZC301PL-1107-V10-EN.pdf [root@FriendlyA ...

  2. git ignore已经checked in files

    对于untracked file, 可以使用.gitignore 对于已经checked in file,可以使用git update-index #隐藏 git update-index --ass ...

  3. 使用python发送简单的邮件

    from:http://blog.csdn.net/zhaoweikid/article/details/125898 前些时间,论坛上有人讨论怎么用python发送需要认证的邮件,我在我的FreeB ...

  4. AAABBBBCCCC

    语单词词性简写语的意义:,n. 名词 ,noun的缩写v. 动词 , verb的缩写pron. 代词 , pronoun的缩写adj. 形容词, adjective的缩写adv. 副词, adverb ...

  5. The test form is only available for requests from the local machine 解决方法

      protocolsdocumentationsoapweb 当您尝试从远程计算机访问 Web 服务时,不会显示“调用”按钮.并且,您会收到以下错误信息: The test form is only ...

  6. poj 1144 Network

    Network 题意:输入n(n < 100)个点,不一定是连通图,问有多少个割点? 割点:删除某个点之后,图的联通分量增加. 思路:dfs利用时间戳dfs_clock的特性,点u的low函数l ...

  7. .net source code

    .NET 类库的强大让我们很轻松的解决常见问题,作为一个好专研的程序员,为了更上一层楼,研究CLR的基础类库实现是快速稳定的捷径. 一般场景下,采用 Reflector可以反射出.NET 的部分实现出 ...

  8. C与OC、C++的区别

    C语言的特点:1)C语言是结构化语言,层次清晰,调试和维护比较容易2)表现能力和处理能力比较强,可直接访问内存的物理地址3)c语言实现对硬件的编辑,c语言课用语系统软件的开发,也可用语应用软件的开发, ...

  9. IE8下String的Trim()方法失效的解决方法

    String的Trim()方法失效,在ie8下是有这样的情况的,解决方法也很简单使用$.trim(str)即可,需要的朋友可以了解下 用jquery的trim()方法,$.trim(str)就可以了.

  10. PS命令删除所有EXCHANGE2013内用户邮件

    因为在测试的时间产生了大量测试邮件,所以在正式上线前,要删除所有用户的邮件. 命令如下: Get-Mailbox | Search-Mailbox  -DeleteContent