分区工具parted的详解及常用分区使用方法
<h2>一、parted的用途及说明</h2>
<p>本篇主要为扫盲篇,<code>实际操作</code>请参考下面链接:
CentOS 7 格式化10T及以上大容量硬盘
<a href="https://www.showdoc.cc/557523996513244?page_id=3512714867624229">https://www.showdoc.cc/557523996513244?page_id=3512714867624229</a></p>
<p>概括使用说明
parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区,并且允许调整分区的大小。
GNU手册说明:
parted是一个用于硬盘分区或调整分区大小的工具。使用它你可以创建、清除、调整、移动和复制ext2、ext3、linux-swap、FAT、FAT32和reiserfs分区;也能创建、调整和移动苹果系统的HFS分区;还能检测jfs、ntfs、ufs和xfs分区。该工具常用于为新安装的操作系统创建空间,重新分配硬盘使用情况,在将数据拷贝到新硬盘的时候也常常使用。</p>
<h2>二、parted的使用方法及步骤</h2>
<h3>1、对磁盘进行分区</h3>
<h4>(1)命令行方式</h4>
<pre><code class="language-bash"># parted /dev/sdb mklabel gpt mkpart 1 ext3 1 5T</code></pre>
<h4>(2)交互式命令方式</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">命令</th>
<th style="text-align: left;">解释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"># parted /dev/sdb</td>
<td style="text-align: left;">对/dev/sdb进行分区或管理操作</td>
</tr>
<tr>
<td style="text-align: left;">(parted) mklabel gpt</td>
<td style="text-align: left;">定义分区表格式,常用的有msdos和gpt分区表格式,msdos不支持2TB以上</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">容量的磁盘,所以大于2TB的磁盘选gpt分区表格式</td>
</tr>
<tr>
<td style="text-align: left;">(parted) mkpart p1</td>
<td style="text-align: left;">创建第一个分区,名称为p1</td>
</tr>
<tr>
<td style="text-align: left;">File system type</td>
<td style="text-align: left;">定义分区格式,不支持ext4</td>
</tr>
<tr>
<td style="text-align: left;">Start?</td>
<td style="text-align: left;">定义分区的起始位置,单位支持K,M,G,T</td>
</tr>
<tr>
<td style="text-align: left;">End? 5T</td>
<td style="text-align: left;">定义分区的结束位置,单位支持K,M,G,T</td>
</tr>
<tr>
<td style="text-align: left;">(parted) print</td>
<td style="text-align: left;">查看当前分区情况</td>
</tr>
<tr>
<td style="text-align: left;">Model: ATA VBOX HARDDISK (scsi)</td>
<td style="text-align: left;">系统返回值</td>
</tr>
<tr>
<td style="text-align: left;">Disk /dev/sda: 21.5GB</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">Sector size (logical/physical): 512B/512B</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">Partition Table: msdos</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">Number Start End Size File system Name Flags</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">1 32.3kB 5TB 5TB ext3 p1</td>
<td style="text-align: left;">同上,一体</td>
</tr>
</tbody>
</table>
<h4>2、删除分区</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">命令</th>
<th style="text-align: left;">解释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"># parted /dev/sdb</td>
<td style="text-align: left;">对/dev/sdb进行分区或管理操作</td>
</tr>
<tr>
<td style="text-align: left;">(parted) rm</td>
<td style="text-align: left;">rm删除命令,删除之前必须确保分区没有被挂载</td>
</tr>
<tr>
<td style="text-align: left;">Partition number? 1</td>
<td style="text-align: left;">删除第一个分区</td>
</tr>
<tr>
<td style="text-align: left;">(parted) print</td>
<td style="text-align: left;">查看当前分区情况</td>
</tr>
<tr>
<td style="text-align: left;">Model: ATA VBOX HARDDISK (scsi)</td>
<td style="text-align: left;">系统返回值</td>
</tr>
<tr>
<td style="text-align: left;">Disk /dev/sda: 21.5GB</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">Sector size (logical/physical): 512B/512B</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">Partition Table: msdos</td>
<td style="text-align: left;">同上,一体</td>
</tr>
<tr>
<td style="text-align: left;">Number Start End Size File system Name Flags</td>
<td style="text-align: left;">同上,一体</td>
</tr>
</tbody>
</table>
<h4>3、格式化几个TB的磁盘的说明</h4>
<p>在格式化几个TB的磁盘的时候,时间会非常的长,格式化6T的磁盘时间大概在一个半小时左右。(据硬盘实际情况而定)</p>
<h2>三、partd分区实例</h2>
<p>fdisk工具虽然很好用,但对于大于2T以上的硬盘分区特别慢,可能一部分容量识别不了,也不支持非交互模式。
用parted就非常方便了,对大硬盘支持很好,也可以实现脚本分区。</p>
<h3>1、默认一般都安装过了,没有的话install it!</h3>
<pre><code class="language-bash">yum install xfs* parted -y</code></pre>
<h3>2、parted有个不提示用户参数选项,就是通过这个选项来实现非交互</h3>
<pre><code class="language-bash"> -s, --script
never prompts for user intervention</code></pre>
<h3>3、下面我们通过一个一块硬盘来说明它的具体操作</h3>
<pre><code class="language-bash">第一个主分区3G
剩余分区都给扩展分区
第一个逻辑卷分区2G
第二个逻辑源用剩余空间</code></pre>
<h4>(1)第一个主分区3G</h4>
<pre><code class="language-bash">parted -s /dev/sdb mklabel msdos
parted -s /dev/sdb mkpart primary 0 3G</code></pre>
<h4>(2)剩余空间给扩展分区</h4>
<pre><code class="language-bash">parted -s /dev/sdb mkpart entended 3 100%</code></pre>
<h4>(3)在扩展分区上创建第一个逻辑分区</h4>
<pre><code class="language-bash">parted -s /dev/sdb mkpart logic 3G 5G</code></pre>
<h4>(4)创建第二个逻辑分区</h4>
<pre><code class="language-bash">parted -s /dev/sdb mkpart logic 5G 100% #100%代表使用剩余的所有空间</code></pre>
<h4>(5)查看分区大小</h4>
<pre><code class="language-bash">parted -s /dev/sdb print
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sdb: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system 标志
1 512B 3000MB 3000MB primary
2 3001MB 8590MB 5589MB extended lba
5 5000MB 8590MB 3590MB logical</code></pre>
<h4>(6)删除分区</h4>
<pre><code class="language-bash">parted -s /dev/sdb rm 5 #rm后面跟的事分区的编号,print出的Number
parted -s /dev/sdb print
Number Start End Size Type File system 标志
1 512B 3000MB 3000MB primary
2 3001MB 8590MB 5589MB extended lba</code></pre>
<h4>(7)对/dev/sdc分一个主分区,类型为swap</h4>
<pre><code class="language-bash">parted -s /dev/sdc mklabel msdos
parted -s /dev/sdc -- mkpartfs primary linux-swap 0 -1 #从使用所有空间</code></pre>
<p>来源:<a href="https://blog.csdn.net/dufufd/article/details/53508367">https://blog.csdn.net/dufufd/article/details/53508367</a></p>