如何使用parted给磁盘打label

     2012年12月19日       teddy.sun       运维笔记->系统管理       parted msdos gpt 

随着硬盘规格越来越大的趋势,GPT分区表已经开始普遍使用,而抱着谨慎的态度,我们对于2T以及以下的分区表采用msdos的格式。
我们设计以下parted做磁盘label的逻辑
disk1='/dev/sdb'
total_size=`parted -s $disk1 print 2>/dev/null | grep ^Disk | awk -F: '{print $2}' | sed 's/[ \t]\{1,\}//g'`
[[ $total_size == '' ]] && total_size=`fdisk -l $disk1 2>/dev/null | grep ^Disk | grep /dev | awk '{printf("%d %s",$3,$4)}'|sed 's/,//g'`
if echo $total_size | grep -q GB ; then
    total_size_num=`echo $total_size | sed 's/GB//g'`
    [ $total_size_num -gt 2000 ] && label_type='gpt'
elif echo $total_size | grep -q TB ; then
    label_type='gpt'
fi
parted -s $disk1 mklabel $label_type
partprobe $disk1
sleep 5