zoukankan      html  css  js  c++  java
  • Linux之批量挂载硬盘

    ############parted工具分区###############

    #!/bin/bash #shell脚本开头格式
    PATH=/bin:/sbin:/usr/bin:/usr/sbin #保证脚本中的命令能在此路径中搜索得到
    export PATH #设置以上环境变量,使之生效
    i=1
    while [ $i -lt 13 ] #判断变量i是否小于13,(硬盘数量,除系统盘之外是12块),此处13取决于要挂载几块硬盘
    do
    j=`echo $i|awk '{printf "%c",97+$i}'` # %c代表ASCII字符.显示相对应参数的第一个字符;97代表a;系统盘是sda,如果是其它的需要修改脚本
    parted /dev/sd$j <<FORMAT # <<代表输入重定向(FORMAT作为标识符,当再遇到FORMAT这个标识符表示结束);FORMAT之间的内容作为命令输入到parted /dev/sd$j之后
    mklabel gpt # mklabel创建新的磁盘为gpt分区
    mkpart primary 0 -1 #创建一个分区为主分区,并将整块磁盘分为一个分区
    ignore
    quit
    FORMAT
    mkfs.ext4 -T largefile /dev/sd${j}1 #格式化磁盘
    mkdir /disk${i} #十以上用大括号包含,如${10}
    mount="/dev/sd${j}1 /disk${i} ext4 defaults 0 0"
    rm -rf /disk${i}/*
    echo $mount >>/etc/fstab #写入分区表
    i=$(($i+1)) #在shell中,$(())用于算术运算
    done
    echo "/n/n*****Formating and Mounting have finished****/n/n" #格式化和安装完成
    mount -a #挂载(挂载在/etc/fstab文件中的所有文件系统)

    ############fdisk工具分区###############

    #!/bin/bash #shell脚本开头格式
    PATH=/bin:/sbin:/usr/bin:/usr/sbin #保证脚本中的命令能在此路径中搜索得到
    export PATH #设置以上环境变量,使之生效
    i=1
    while [ $i -lt 13 ] #判断变量i是否小于13,(硬盘数量,除系统盘之外是12块)
    do
    j=`echo $i|awk '{printf "%c",97+$i}'` # %c代表ASCII字符.显示相对应参数的第一个字符;97代表a;系统盘是sda,如果是其它的需要修改脚本
    fdisk /dev/sd$j <<FORMAT # <<代表输入重定向(FORMAT作为标识符,当再遇到FORMAT这个标识符表示结束);FORMAT之间的内容作为命令输入到parted /dev/sd$j之后
    n # mklabel创建新的磁盘为gpt分区
    p #创建一个分区为主分区,并将整块磁盘分为一个分区
    1
    #按回车默认输入有效值
    #按回车默认输入有效值
    w
    FORMAT
    mkfs.ext4 /dev/sd${j}1 #格式化磁盘
    mkdir /disk${i}
    mount="/dev/sd${j}1 /disk${i} ext4 defaults 0 0"
    rm -rf /disk${i}/*
    echo $mount >>/etc/fstab #写入分区表
    i=$(($i+1)) #在shell中,(())用于算术运算
    done
    echo "/n/n*****Formating and Mounting have finished****/n/n" #格式化和安装完成(输出的内容之间有空格,则需要加双引号)
    mount -a #挂载(挂载在/etc/fstab文件中的所有文件系统)

    ############手工2TB磁盘格式化###############
    对于2TB的大磁盘,分区方法如下:
    # parted /dev/sdb
    GNU Parted 2.1
    Using /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print
    Model: ATA Hitachi HUA72302 (scsi)
    Disk /dev/sdb: 2000GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos

    Number Start End Size Type File system Flags

    (parted) mklable gpt
    (parted) mkpart primary 0 2000000
    (parted) printModel: ATA Hitachi HUA72302 (scsi)

    Disk /dev/sdb: 2000GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos

    Number Start End Size Type File system Flags
    1 1049kB 2000GB 2000GB primary ext4


    (parted) quit
    快速格式化该分区的方法:
    #mkfs.ext4 -T largefile /dev/sdb1
    注:

    如果使用mkfs.ext4不带参数格式化分区,会使得磁盘格式化非常缓慢,因此需要增加-T largefile参数。

  • 相关阅读:
    转换时间对象和字符串对象&添加时间
    jquery深入学习17-2-19
    jquery深入学习
    java上传附件含有%处理或url含有%(URLDecoder: Illegal hex characters in escape (%) pattern
    数据库备份脚本(整库备份)
    docker 利用maven插件推送镜像
    排序算法对比分析图
    Java计算时间差、日期差总结
    百度地图计算点是否在园,正方形,多边形范围内。电子围栏
    java maven docker-maven-plugin 结合Dockerfile 构建 docker image 并上传到docker server
  • 原文地址:https://www.cnblogs.com/huhyoung/p/8331253.html
Copyright © 2011-2022 走看看