Parted
เป็น ตัวแก้ไขพาร์ติชั่น สำหรับ Linux เพื่อสร้าง ฟอร์แมต ลบ ลดขนาดและขยายพาร์ติชั่นดิสก์ เครื่องมือนี้ใช้งานง่ายและมีอยู่ใน distros Unix/Linux ทั้งหมด นอกจากนี้ยังมีเวอร์ชัน GUI Gparted
. ในบทความนี้เราจะแสดงวิธีจัดการพาร์ติชั่นดิสก์โดยใช้ parted บน CentOS Linux (ทำงานในลักษณะเดียวกันกับลีนุกซ์รุ่นอื่นๆ) Parted เทียบเท่ากับ Linux ของ Windows diskpart
เครื่องมือ.
จะติดตั้ง Parted บน Linux ได้อย่างไร
อัปเดตซอฟต์แวร์บนโฮสต์ Linux ของคุณและติดตั้งแพ็คเกจแบบแยกส่วนโดยใช้ตัวจัดการแพ็คเกจในการแจกจ่าย Linux ของคุณ ใน CentOS 8 ที่มี dnf package manager (ที่แทนที่ yum) คุณสามารถติดตั้ง parted จากที่เก็บพื้นฐานได้ด้วยคำสั่ง:
# dnf update -y
# dnf install parted -y
หรือใน Debian/Ubuntu:
# apt-get install parted
หากต้องการตรวจสอบเวอร์ชันของเครื่องมือ ให้รันคำสั่งต่อไปนี้:
# parted –v
parted (GNU parted) 3.2
หากต้องการใช้ parted ให้ป้อน:
# parted
GNU Parted 3.2 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands.
การจัดการตารางพาร์ติชั่นด้วยการแบ่งส่วน
แสดงรายการดิสก์ที่มีอยู่:
# print
หรือใช้แบบแยกส่วน:
$ sudo parted -l
มีดิสก์ 21 GB /dev/vdb โดยไม่มีป้ายกำกับที่กำหนด (error /dev/vdb: unrecognized disk label
)
คุณสามารถสร้างตารางพาร์ทิชัน msdos (MBR) บนดิสก์:
# mklabel msdos
หรือตารางพาร์ติชั่น gpt (ตารางพาร์ติชั่น GUID รองรับขนาดพาร์ติชั่นเกิน 2 TB):
# mklabel gpt
จากนั้น parted จะแสดงประเภทของตารางพาร์ติชั่น (เลย์เอาต์) บนดิสก์:
(parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 21.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags
อย่างที่คุณเห็น มีตารางพาร์ติชั่น MBR บนดิสก์ แต่ยังไม่มีการสร้างพาร์ติชั่นดิสก์
หากคุณมีดิสก์หลายตัวบนเซิร์ฟเวอร์ของคุณ คุณสามารถสลับไปมาระหว่างดิสก์ได้โดยใช้คำสั่งนี้:
# select /dev/diskname
จะสร้างพาร์ติชั่นใหม่แบบ Parted ได้อย่างไร
mkpart คำสั่งใช้สร้างพาร์ติชั่นใหม่แบบ parted หลังจากรันคำสั่งนี้ในโหมดโต้ตอบ คำถามเกี่ยวกับพารามิเตอร์ของพาร์ติชันใหม่จะปรากฏขึ้น
- ประเภทพาร์ติชั่น — ระบุประเภทพาร์ติชั่น (หลักหรือขยาย)
- ประเภทระบบไฟล์ — ตั้งค่าระบบไฟล์ ext2 เป็นค่าเริ่มต้น (เราจะเปลี่ยนแปลงในภายหลัง);
- เริ่ม เป็นเซกเตอร์พาร์ติชั่นเริ่มต้น
- สิ้นสุด นี่คือเซกเตอร์สุดท้ายของพาร์ติชั่น (หน่วยเป็นเมกะไบต์) ในตัวอย่างของเรา เราป้อน 5,000 เข้าไป หมายความว่าจะสร้างพาร์ติชั่นขนาด 5 GB
หากต้องการแสดงจำนวนเนื้อที่ว่างบนดิสก์ ให้ใช้คำสั่งต่อไปนี้:
(parted) print free
คุณสามารถสร้างพาร์ติชั่นที่ครอบคลุมทั้งดิสก์:
# (parted) mkpart primary 0 0
หรือระบุขนาดพาร์ติชั่นดังนี้:
# (parted) mkpart primary 0 1GB
คุณยังสามารถกำหนดขนาดพาร์ติชั่นเป็น % และกำหนดป้ายกำกับ:
# (parted) mkpart "home part" ext4 2.5GiB 100%
หากต้องการออกจาก parted ให้รันคำสั่งนี้:
# quit
มาฟอร์แมตพาร์ติชั่นให้เป็นระบบไฟล์ ext4:
# mkfs.ext4 /dev/vdb1
mke2fs 1.44.6 (5-Mar-2019) Creating filesystem with 1220352 4k blocks and 305216 inodes Filesystem UUID: 5c9daa97-c0f4-44bc-9cfa-f466ebd8895e Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
ตรวจสอบระบบไฟล์ของพาร์ติชันและตรวจสอบว่ามีการเปลี่ยนแปลง (โปรดทราบว่าคำสั่งพิมพ์แสดงรายการพาร์ติชันบนดิสก์ หมายเลข ประเภท ขนาด และระบบไฟล์)
คุณสามารถสร้างพาร์ติชั่นและฟอร์แมตได้โดยไม่ต้องเข้าไปในพาร์ติชั่นเชลล์ ใช้หนึ่งซับต่อไปนี้:
# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1
โดยใช้คำสั่ง เราจะสร้างพาร์ติชั่นบนดิสก์ vdb และจัดสรรพื้นที่ว่างทั้งหมดให้กับมัน
ดังนั้น คุณสามารถทำให้งานของคุณง่ายขึ้นหรือเพิ่มคำสั่งที่คล้ายกันใน bash script หรือไฟล์ kickstart
จะปรับขนาดพาร์ติชั่น (ขยายหรือย่อ) ด้วย Parted ได้อย่างไร
ในการขยายหรือย่อขนาดพาร์ติชั่น resizepart คำสั่งย่อยถูกใช้ใน parted คุณสามารถปรับขนาดพาร์ติชันแบบโต้ตอบได้ รันคำสั่งต่อไปนี้ใน parted:
# resizepart
เครื่องมือจะแจ้งให้คุณป้อนหมายเลขพาร์ติชั่น (คุณสามารถนำมาจาก print เอาต์พุต) และขนาดสุดท้ายของพาร์ติชัน ในตัวอย่างนี้ ขนาดของพาร์ติชันจะถูกขยายจาก 5 เป็น 10 GB:
(parted) resizepart Partition number? 1 End? [5000MB]? 10000
ขั้นแรก ขยายพาร์ติชั่น แล้วขยายระบบไฟล์บนพาร์ติชั่น หากคุณลดขนาดพาร์ติชั่น คุณต้องลดขนาดระบบไฟล์ก่อน แล้วจึงลดขนาดพาร์ติชั่นของคุณ มิฉะนั้น คุณอาจสูญเสียข้อมูลของคุณ
เพื่อลดขนาดระบบไฟล์ ใช้คำสั่งต่อไปนี้ สำหรับระบบไฟล์ ext2/3/4:
resize2fs /dev/sdab size
สำหรับ Btrfs:
btrfs filesystem resize /dev/sdab size
คุณยังสามารถเปลี่ยนแฟล็กพาร์ติชั่นแบบแบ่งส่วนได้ คุณสามารถตั้งค่าตามที่คุณต้องการ:
- บูต
- ราก
- สลับ
- ซ่อนอยู่
- บุก
- เลเวล
- ลบา
- legacy_boot
- แรก
- โดยเฉพาะ
- ปาโล
ตัวอย่างเช่น มาทำเครื่องหมายพาร์ติชันว่าบูตได้:
# set 1 boot on
การถอดพาร์ติชันที่มี Parted
หากคุณต้องการลบพาร์ติชั่นบนดิสก์ คุณสามารถใช้ rm คำสั่งแยก:
# rm 1
คำสั่งจะลบพาร์ติชั่นที่มีหมายเลข 1:
(parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 21.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags:
โปรดใช้ความระมัดระวังกับคำสั่ง เนื่องจากไม่จำเป็นต้องยืนยันการนำออก
จะกู้คืนดิสก์พาร์ติชั่นที่ถูกลบโดยไม่ได้ตั้งใจด้วย Rescue ได้อย่างไร
คุณสามารถกู้คืนพาร์ติชั่นที่ถูกลบได้โดยใช้ช่วยเหลือ เครื่องมือที่มีอยู่ในส่วน:
# rescue
คำสั่งจะขอให้คุณป้อนขนาดพาร์ติชั่นเริ่มต้นและสิ้นสุด หากมีข้อมูลบางส่วนเกี่ยวกับพาร์ติชั่นในตำแหน่งเหล่านี้ คำสั่งจะพยายามกู้คืนพาร์ติชั่นที่ถูกลบ
อย่างที่คุณเห็น parted นั้นใช้งานง่ายและสะดวกมากในการสร้าง/แก้ไขพาร์ติชั่นดิสก์