Linux分區之parted命令詳解

作用:

規劃大小超過2T的分區,也可用於小分區的規劃。

用法:

parted [選項]... [設備 [命令 [參數]...]...]

幫助選項:

-h, --help                    顯示此求助信息 
-l, --list                    列出所有設別的分區信息
-i, --interactive             在必要時,提示用戶 
-s, --script                  從不提示用戶 
-v, --version                 顯示版本

操作命令:

cp [FROM-DEVICE] FROM-MINOR TO-MINOR           #將文件系統複製到另一個分區 
help [COMMAND]                                 #打印通用求助信息,或關於 COMMAND 的信息 
mklabel 標籤類型                                #改變磁盤的文件類型 ;
mkfs MINOR 文件系統類型                         #在 MINOR 創建類型爲“文件系統類型”的文件系統 
mkpart 分區類型 [文件系統類型] 起始點 終止點      #創建一個分區 
mkpartfs 分區類型 文件系統類型 起始點 終止點      #創建一個帶有文件系統的分區 
move MINOR 起始點 終止點                        #移動編號爲 MINOR 的分區 
name MINOR 名稱                                #將編號爲 MINOR 的分區命名爲“名稱” 
print/p [MINOR]                                #打印分區表,或者分區 
quit/q                                         #保存退出程序 
rescue 起始點 終止點                            #挽救臨近“起始點”、“終止點”的遺失的分區 
resize MINOR 起始點 終止點                      #改變位於編號爲 MINOR 的分區中文件系統的大小 
rm MINOR                                       #刪除編號爲 MINOR 的分區 
select 設備                                     #選擇要編輯的設備 
set MINOR 標誌 狀態                             #改變編號爲 MINOR 的分區的標誌

操作實例

1、選擇分區硬盤

首先類似fdisk一樣,先選擇要分區的硬盤,此處爲/dev/vdb: ((parted)表示在parted中輸入的命令,其他爲自動打印的信息)

[root@node1 ~]# parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help        # 看一下常用命令
  align-check TYPE N                        check partition N    for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted

2、創建分區

選擇了/dev/hdd作爲我們操作的磁盤,接下來需要創建一個分區表(在parted中可以使用help命令打印幫助信息):

(parted) mklabel
新的磁盤標籤類型? gpt  # (我們要正確分區大於2TB的磁盤,應該使用gpt方式的分區表,輸入gpt後回車)

3、完成分區操作

創建好分區表以後,接下來就可以進行分區操作了,執行mkpart命令,分別輸入分區名稱,文件系統和分區 的起止位置:

(parted) mkpart
分區名稱?  []? partb
文件系統類型?  [ext2]? ext4
起始點? 1    # 1表示從最開始分區,也可以用百分比表示,比如Start? 0% , End? 50%;
結束點? -1   # -1表示到磁盤末尾;也可以分成多個磁盤,寫要分配的大小;

4、驗證分區信息

分好區後可以使用print命令打印分區信息,下面是一個print的樣例:

(parted) print     # 簡寫p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name   標誌
 1      1049kB  2147GB  2147GB               partb

(parted) quit   # 退出
信息: You may need to update /etc/fstab.

5、刪除分區示例

如果分區錯了,可以使用rm命令刪除分區,比如我們要刪除上面的分區,然後打印刪除後的結果

(parted) rm 1              #rm後面使用分區的號碼,就是用print打印出來的Number
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/vdb: 2147GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

6、格式化操作

完成以後我們可以使用quit命令退出parted並使用系統的mkfs命令對分區進行格式化了。 

[root@node1 ~]# ll /dev/vdb*
brw-rw---- 1 root disk 253, 16 5月  14 09:40 /dev/vdb
brw-rw---- 1 root disk 253, 17 5月  14 09:40 /dev/vdb1
[root@node1 ~]# fdisk -l
磁盤 /dev/vda:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x0009e68a

   設備 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83884031    41940992   83  Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盤 /dev/vdb:2147.5 GB, 2147483648000 字節,4194304000 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:gpt

#         Start          End    Size  Type            Name
 1         2048   4194301951      2T  Microsoft basic partb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

[root@node1 ~]# mkfs.ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072000 inodes, 524287488 blocks
26214374 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=4294967296
16000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000

Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@node1 ~]# mkdir /data
[root@node1 ~]# mount /dev/vdb1 /data/
[root@node1 ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/vda1        40G  1.5G   36G    5% /
devtmpfs         32G     0   32G    0% /dev
tmpfs            32G     0   32G    0% /dev/shm
tmpfs            32G  8.3M   32G    1% /run
tmpfs            32G     0   32G    0% /sys/fs/cgroup
/dev/vdb1       2.0T   71M  1.9T    1% /data
[root@node1 ~]# blkid
/dev/vda1: UUID="6634633e-001d-43ba-8fab-202f1df93339" TYPE="ext4"
/dev/vdb1: UUID="d4993a37-4a33-4c95-95de-9711413196c0" TYPE="ext4" PARTLABEL="partb" PARTUUID="385073f7-3a5b-4312-8c42-27a2d1f882cf"
[root@node1 ~]# cp -a /etc/fstab{,.bak}
[root@node1 ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Nov 21 18:16:53 2014
#
# Accessible filesystems, by reference, are maintained under    '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=6634633e-001d-43ba-8fab-202f1df93339 / ext4 defaults,barrier=0 1 1
UUID=d4993a37-4a33-4c95-95de-9711413196c0 /data ext4 defaults 0 0

注意

使用fdisk或parted工具只是將分區信息寫入到磁盤,如果需要使用mkfs格式化並使用分區,則需要重新啓動系統。partprobe 是一個可以修改kernel中分區表的工具,可以使kernel重新讀取分區表而不用重啓系統。
partprobe  /dev/vdb
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章