用parted工具实现磁盘分区的一个小脚本
来源:互联网 发布:淘宝店招代理 编辑:程序博客网 时间:2024/05/18 01:01
由于fdisk工具只能划分小于2T的磁盘,而在服务器环境下动不动就是2T或者3T以上的磁盘,因此考虑用GNU的另一个分区工具parted来对磁盘进行分区。但是,当一个大磁盘要分区的区很多时,一步步操作还是太费时间了。如果每个分区大小都是相同的话,还是利用parted的-s、--script参数来写一个不需要用户干预的脚本为妙。
[root@localhost ~]# /sbin/fdisk -l /dev/sdiWARNING: GPT (GUID Partition Table) detected on '/dev/sdi'! The util fdisk doesn't support GPT. Use GNU Parted.Disk /dev/sdi: 3000.6 GB, 3000592982016 bytes255 heads, 63 sectors/track, 364801 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000
【脚本实例】
[root@localhost ~]# vim repaire_disk.sh
1 #! /bin/bash 2 3 DiskPath=$1 4 PartSize=204800 #MB 5 PartSizeG=$((PartSize/1024)) 6 7 PartNumCur=$((`parted -s ${DiskPath} print | grep -v ^$ | tail -n +6 | wc -l`)) 8 9 for i in `seq 1 ${PartNumCur}` 10 do 11 parted -s ${DiskPath} rm ${i} 12 done 13 14 PartNum=$((`fdisk -l $DiskPath | grep ^Disk | grep dev | cut -d" " -f3 | cut -d"." -f1`/${PartSizeG}+1)) 15 16 for i in `seq 1 ${PartNum}` 17 do 18 if [ $i -ne $PartNum ] && [ $i -lt $(( $PartNum-1 )) ]; then 19 parted -s ${DiskPath} mkpart primary $(( (${i}-1)*${PartSize} )) $(( ${i}*${PartSize} )) 20 else 21 parted -s ${DiskPath} mkpart primary $(( (${i}-1)*${PartSize} )) -1 22 fi 23 done
【运行结果】
[root@localhost ~]# /sbin/parted /dev/sdiGNU Parted 2.4Using /dev/sdiWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) p pModel: ATA WDC WD3000FYYZ-0 (scsi)Disk /dev/sdi: 3001GBSector size (logical/physical): 512B/512BPartition Table: gptNumber Start End Size File system Name Flags 1 17.4kB 205GB 205GB primary 2 205GB 410GB 205GB primary 3 410GB 614GB 205GB primary 4 614GB 819GB 205GB primary 5 819GB 1024GB 205GB primary 6 1024GB 1229GB 205GB primary 7 1229GB 1434GB 205GB primary 8 1434GB 1638GB 205GB primary 9 1638GB 1843GB 205GB primary10 1843GB 2048GB 205GB primary11 2048GB 2253GB 205GB primary12 2253GB 2458GB 205GB primary13 2458GB 2662GB 205GB primary14 2662GB 2867GB 205GB primary15 2867GB 3001GB 133GB primary
0 0
- 用parted工具实现磁盘分区的一个小脚本
- 关于磁盘分区的小脚本-----parted命令
- 关于磁盘分区的小脚本-----parted命令
- 一个对帐的小脚本
- linux大磁盘分区工具parted
- 用vim查看man手册页的一个小脚本
- 用Python实现的中英文互译的小脚本
- 合并文件的一个小脚本
- 一个shell防火墙的小脚本
- 一个将ubuntu睡眠的小脚本
- 一个杀死 tomcat 进程的小脚本
- 最近写一个小脚本的体会
- uigrid 重写的一个小脚本
- fdisk和parted磁盘分区工具命令
- parted 磁盘分区工具 (随带lsof fuser)
- 一个shell小脚本
- 一个小脚本
- 一个小脚本
- 使用Xcode和Instruments调试解决iOS内存泄露
- Windows socket I/O模型 之 select(2)
- 一名运维工程师的读书列表
- 希尔排序
- string类
- 用parted工具实现磁盘分区的一个小脚本
- c++中const使用详解
- Oracle中查看建立索引和使用索引的注意点
- ubuntu ch341 usb-serial adaptor
- 通过属性文件来得到数据库的链接
- Android Bundle类
- 第八周项目2-Time类的运算符重载
- android中Parcelable接口的使用
- a++,++a——关于C优先级