Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

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

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

หรือใน Debian/Ubuntu:

# apt-get install parted

หากต้องการตรวจสอบเวอร์ชันของเครื่องมือ ให้รันคำสั่งต่อไปนี้:

# parted –v

parted (GNU parted) 3.2

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

หากต้องการใช้ 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

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

มีดิสก์ 21 GB /dev/vdb โดยไม่มีป้ายกำกับที่กำหนด (error /dev/vdb: unrecognized disk label )

คุณสามารถสร้างตารางพาร์ทิชัน msdos (MBR) บนดิสก์:

# mklabel msdos

หรือตารางพาร์ติชั่น gpt (ตารางพาร์ติชั่น GUID รองรับขนาดพาร์ติชั่นเกิน 2 TB):

# mklabel gpt

โปรดทราบว่าไม่เหมือน fdisk parted ไม่มีคำสั่งให้เขียนการเปลี่ยนแปลง การเปลี่ยนแปลงทั้งหมดจะมีผลทันที

จากนั้น 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 หลังจากรันคำสั่งนี้ในโหมดโต้ตอบ คำถามเกี่ยวกับพารามิเตอร์ของพาร์ติชันใหม่จะปรากฏขึ้น

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

  • ประเภทพาร์ติชั่น — ระบุประเภทพาร์ติชั่น (หลักหรือขยาย)
  • ประเภทระบบไฟล์ — ตั้งค่าระบบไฟล์ 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:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

คุณสามารถสร้างพาร์ติชั่นและฟอร์แมตได้โดยไม่ต้องเข้าไปในพาร์ติชั่นเชลล์ ใช้หนึ่งซับต่อไปนี้:

# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1

โดยใช้คำสั่ง เราจะสร้างพาร์ติชั่นบนดิสก์ vdb และจัดสรรพื้นที่ว่างทั้งหมดให้กับมัน

ดังนั้น คุณสามารถทำให้งานของคุณง่ายขึ้นหรือเพิ่มคำสั่งที่คล้ายกันใน bash script หรือไฟล์ kickstart

จะปรับขนาดพาร์ติชั่น (ขยายหรือย่อ) ด้วย Parted ได้อย่างไร

ในการขยายหรือย่อขนาดพาร์ติชั่น resizepart คำสั่งย่อยถูกใช้ใน parted คุณสามารถปรับขนาดพาร์ติชันแบบโต้ตอบได้ รันคำสั่งต่อไปนี้ใน parted:

# resizepart

ถอนติดตั้งพาร์ติชั่นด้วยระบบไฟล์ ext2/3/4 ก่อนทำการปรับขนาด

เครื่องมือจะแจ้งให้คุณป้อนหมายเลขพาร์ติชั่น (คุณสามารถนำมาจาก print เอาต์พุต) และขนาดสุดท้ายของพาร์ติชัน ในตัวอย่างนี้ ขนาดของพาร์ติชันจะถูกขยายจาก 5 เป็น 10 GB:

(parted) resizepart
Partition number? 1
End? [5000MB]? 10000

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

ขั้นแรก ขยายพาร์ติชั่น แล้วขยายระบบไฟล์บนพาร์ติชั่น หากคุณลดขนาดพาร์ติชั่น คุณต้องลดขนาดระบบไฟล์ก่อน แล้วจึงลดขนาดพาร์ติชั่นของคุณ มิฉะนั้น คุณอาจสูญเสียข้อมูลของคุณ

เพื่อลดขนาดระบบไฟล์ ใช้คำสั่งต่อไปนี้ สำหรับระบบไฟล์ ext2/3/4:

resize2fs /dev/sdab size

สำหรับ Btrfs:

btrfs filesystem resize /dev/sdab size

คุณยังสามารถเปลี่ยนแฟล็กพาร์ติชั่นแบบแบ่งส่วนได้ คุณสามารถตั้งค่าตามที่คุณต้องการ:

  • บูต
  • ราก
  • สลับ
  • ซ่อนอยู่
  • บุก
  • เลเวล
  • ลบา
  • legacy_boot
  • แรก
  • โดยเฉพาะ
  • ปาโล

ตัวอย่างเช่น มาทำเครื่องหมายพาร์ติชันว่าบูตได้:

# set 1 boot on

Parted:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

การถอดพาร์ติชันที่มี 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:สร้างและจัดการดิสก์พาร์ติชั่นบน Linux

อย่างที่คุณเห็น parted นั้นใช้งานง่ายและสะดวกมากในการสร้าง/แก้ไขพาร์ติชั่นดิสก์