Parted硬盘分区相关

13 篇文章 2 订阅
dev=$1
#编译
g++ test.cpp -g -O2 -lpthread -std=c++11

#硬盘分区
parted $dev --script mklabel gpt
parted $dev --script mkpart primary 0 25%
parted $dev --script mkpart primary 25% 50%
parted $dev --script mkpart primary 50% 75%
parted $dev --script mkpart primary 75% 100%

#分别执行a.out文件
nohup ./a.out ${dev}1 > testlog1 2>&1 &
nohup ./a.out ${dev}2 > testlog2 2>&1 &
nohup ./a.out ${dev}3 > testlog3 2>&1 &
nohup ./a.out ${dev}4 > testlog4 2>&1 &

#检查结果
sleep 300
for i in {1...4}
do
    result=`cat testlog$i | grep "a.out: test.cpp:137: void Reader::read(int64_t): Assertion \`0' failed." | wc -l`
    if [ $result -gt 0 ];then
        echo "this disk is Failed"
        exit 7
    fi
done
echo "this disk is Pass"

解析:

(1)parted /dev/sda --script mklabel gpt
        解析:设置分区类型为gpt,这里注意gpt和MBR分区格式的区别
    (2)parted /dev/sda --script mkpart primary ${partion_start} ${partion_end}
        解析:parted是分区命令。
            /dev/sda:是要被分区的设备;
            --script mkpart primary ${partion_start} ${partion_end}:primary指定分区是主
                    分区,partion_start是分区开始的位置,partion_end是分区结束的位置,分区的
                    起始、结束位置在分区表里指明;
            补充:如果分区的起始地址是设备的开头地址可以写成0%,如果分区的结束地址是设备的最后的
                地址可以写成100%。
    (3)parted /dev/sda --script print
        打印当前分区
 

为什么用parted进行分区:

分区命令可以用parted、fdisk,我这里使用的是parted。fdisk和parted的区别主要是fdisk只支持小于2T的硬盘并且不支持GPT格式。

(1)MBR最大支持卷2T,最多4个主分区或者3个主分区加一个扩展分区;
(2)gpt最大支持18EB(1EB=1024T),最多128个分区;
(3)如果存储设备超过2T则必须用gpt格式分区;

分区后格式化分区:

格式化分区就是在分区上创建文件系统,每种文件系统对硬盘的管理策略都不同,用mke2fs命令格式化分区,具体格式化成哪种文件系统根据具体需求。

(1)mke2fs -t ext4 -F -b 4096 -L "boot" /dev/${disk_name}
	解析:
		-t ext4:指定文件系统;
		-F:强制mke2fs创建文件系统,即使指定的设备不是块特殊设备上的分区;
		-b 4096:指定文件系统上块的大小,有效值1024、2048、4096;
		-L "boot":给文件系统设置卷标名
		/dev/${disk_name}:分区名

分区挂载:

第一步:partitionName=$(blkid -o device -t LABEL="boot")
			blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等
			信息进行查询。
			blkid -o device:查看设备的信息
			-t LABEL="dom_bin":只看LABEL为"dom_bin"的设备
	第二步:mount -t ext4 -o discard $partitionName /mnt/database

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值