Là quản trị viên hệ thống, đôi khi bạn có thể yêu cầu quản lý các phân vùng của Hệ điều hành Linux CentOS/Red Hat của mình. Quản lý phân vùng luôn là một nhiệm vụ rủi ro. Nhưng có một số công cụ hữu ích rất hữu ích để quản lý phân vùng đĩa CentOS/Red Hat Linux một cách dễ dàng. Trong bài viết trước của tôi, tôi đã thảo luận về cách quản lý phân vùng ổ cứng CentOS/Red Hat 7 bằng tiện ích fdisk . Công cụ fdisk chỉ đủ điều kiện để quản lý bảng phân vùng MBR. Nhưng bảng phân vùng GPT hiện đang trở nên phổ biến hơn. Mặt khác, công cụ fdisk không thể thay đổi kích thước (thu nhỏ hoặc mở rộng) một phân vùng. Để khắc phục những hạn chế này, chúng ta có thể sử dụng một công cụ quản lý phân vùng khác có tên là partedcó thể xử lý bảng phân vùng GPT cũng như có thể thay đổi kích thước phân vùng đĩa. Trong bài viết này, chúng ta sẽ biết cách tạo, xóa, thay đổi kích thước và cứu phân vùng trong CentOS 7/Red Hat 7 Linux bằng công cụ quản lý phân vùng đã chia.
Tiện ích đã chia tay
Parted là mã nguồn mở và tiện ích dòng lệnh được sử dụng để quản lý các phân vùng đĩa cứng. Nó hỗ trợ nhiều định dạng bảng phân vùng bao gồm MS-DOS (MBR) và GPT . Nó rất hữu ích để tạo không gian cho hệ điều hành mới, tổ chức lại việc sử dụng đĩa và sao chép dữ liệu sang đĩa cứng mới.
Cài đặt parted trong CentOS 7/Red Hat 7 Linux
Công cụ chia tay được cài đặt và kích hoạt mặc định trong CentOS 7/Red Hat 7 Linux. Nhưng đôi khi bạn có thể không nhận được tất cả các tính năng trong công cụ chia tay mặc định. Vì vậy, tốt hơn là cài đặt lại. Đăng nhập vào CentOS 7/Red Hat 7 Linux của bạn và đưa ra lệnh sau để cài đặt nó.
Sau khi cài đặt tiện ích parted, chỉ cần gõ lệnh parted từ CLI của bạn và bạn sẽ tìm thấy đầu ra bên dưới.
[root@localhost ~]# parted
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)
Đầu ra ở trên đang hiển thị phiên bản được chia và đĩa đang được sử dụng bởi phần được chia. Nếu thiết bị không được đề cập làm đối số, lệnh parted theo mặc định sẽ sử dụng ổ đĩa cứng đầu tiên. Để hiển thị ổ đĩa có sẵn, hãy đưa ra lệnh sau.
(parted) print all
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary xfs boot
2 525MB 2673MB 2147MB primary linux-swap(v1)
3 2673MB 21.5GB 18.8GB primary xfs
Error: /dev/sdb: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
Now we can see that there are two hard disk drives (/dev/sda and /dev/sdb) in our system. The /dev/sda is being used by the system partition. So, to switch the second disk drive, issue the following command.
(parted) select /dev/sdb
Using /dev/sdb
(parted)
Bây giờ đĩa cứng thứ hai đang được sử dụng bởi chương trình đã chia tay. Để nhận các lệnh có sẵn trong chương trình đã chia, hãy đưa ra lệnh trợ giúp và bạn sẽ nhận được danh sách lệnh với mô tả ngắn.
Lệnh trợ giúp sẽ hiển thị các lệnh có thể được sử dụng trong chương trình đã chia để tạo, xóa, cứu hoặc thay đổi kích thước phân vùng.
Tạo phân vùng bằng Parted Tool trong CentOS 7 Linux
Để tạo một phân vùng mới bằng công cụ chia tay, ổ đĩa phải có dung lượng trống. Vì /dev/sda không có dung lượng trống nên chúng tôi sẽ tạo một phân vùng mới trong đĩa /dev/sdb. Vì vậy, hãy bắt đầu chương trình đã chia tay bằng cách chọn đĩa /dev/sdb và đưa ra lệnh in để hiển thị trạng thái đĩa.
[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) print
Error: /dev/sdb: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
Đầu ra ở trên cho thấy /dev/sdb là một đĩa thô và hiện có phân vùng trong đó. Đầu ra cũng cho thấy rằng đĩa /dev/sdb không được gán bảng phân vùng. Vì vậy, đầu tiên chúng ta sẽ xác định bảng phân vùng và sau đó tạo phân vùng mới. Đưa ra lệnh sau để xác định bảng phân vùng cho đĩa /dev/sdb.
(parted) mktable gpt
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
Bảng phân vùng GPT hiện được xác định cho đĩa /dev/sdb. Nếu bạn muốn sử dụng phân vùng MBR, hãy cung cấp đối số msdos cho lệnh mktable.
Để tạo phân vùng mới, hãy dùng lệnh mkpart. [Lệnh mkpart sẽ hỏi loại phân vùng, hệ thống tệp, vị trí bắt đầu và kết thúc cho phân vùng mới. Bạn sẽ tìm thấy các tùy chọn khả dụng cho các đối số bằng lệnh trợ giúp mkpart ].
(parted) mkpart
Partition name? []? primary
File system type? [ext2]? xfs
Start? 0
End? 2GB
(parted)
Đầu tiên, lệnh mkpart sẽ hỏi loại phân vùng hoặc tên. Vì chúng tôi muốn tạo phân vùng chính, hãy nhập chính vào đây.
Thứ hai, nó sẽ yêu cầu loại Hệ thống tệp. Chúng tôi muốn tạo hệ thống tệp xfs.
Thứ ba, nó sẽ yêu cầu vị trí bắt đầu. Đơn vị mặc định được sử dụng bởi chương trình chia tay là MB. Chúng tôi muốn tạo một phân vùng 2 GB. Vì đây là phân vùng đầu tiên của chúng tôi, chúng tôi đã bắt đầu từ vị trí 1MB. Chúng tôi cũng có thể cung cấp vị trí bắt đầu với tỷ lệ phần trăm (%) chẳng hạn như 1%.
Thứ tư, nó sẽ yêu cầu vị trí kết thúc. Đối với phân vùng 2GB, chúng tôi đã cung cấp 2GB. Vì vậy, phân vùng bắt đầu từ 1MB đến 2GB. Chúng tôi cũng có thể cung cấp vị trí kết thúc với tỷ lệ phần trăm (%) chẳng hạn như 10%.
Với lệnh in, chúng ta có thể thấy trạng thái của phân vùng mới được tạo.
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000MB 1999MB primary
Chúng ta cũng có thể chạy lệnh mkpart với bốn đối số của nó cùng một lúc. Lệnh sau sẽ tạo một phân vùng 2GB khác sẽ bắt đầu từ 2GB đến 4GB.
(parted) mkpart primary xfs 2GB 4GB
(parted)
Chúng ta có thể thấy phân vùng đã tạo của mình bằng lệnh in.
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000MB 1999MB primary
2 2000MB 4000MB 2001MB primary
Để trở về từ chương trình đã chia tay, hãy ra lệnh thoát.
Bây giờ chúng ta có hai phân vùng mới được tạo. Sau khi tạo phân vùng, hệ điều hành phải thông báo để cập nhật bảng phân vùng. Ban hành lệnh sau để cập nhật bảng phân vùng vĩnh viễn.
Bảng phân vùng của chúng tôi hiện đã được cập nhật. Bây giờ nó là cần thiết để định dạng phân vùng của chúng tôi để sử dụng. Hệ thống định dạng tệp được Linux hỗ trợ gần đây là xfs. Vì vậy, hãy đưa ra các lệnh sau để định dạng phân vùng sdb1 và sdb2 bằng xfs.
[root@localhost ~]# mkfs.xfs /dev/sdb1
[root@localhost ~]# mkfs.xfs /dev/sdb2
Chúng tôi đã định dạng thành công các phân vùng mới tạo bằng hệ thống tệp xfs. Bây giờ các phân vùng này đã sẵn sàng để giữ dữ liệu. Nhưng trước khi giữ dữ liệu, chúng ta phải gắn phân vùng vào một điểm gắn kết (thư mục hoặc thư mục).
Gắn phân vùng mới
Để thực hành, bây giờ chúng ta sẽ gắn sdb1 vào thư mục dữ liệu và sdb2 vào thư mục sao lưu. Vì vậy, trước tiên hãy tạo các thư mục này bằng lệnh sau.
Bây giờ hãy gắn dữ liệu vào sdb1 và sao lưu vào sdb2 bằng lệnh sau.
[root@localhost ~]# mount /dev/sdb1 /data
[root@localhost ~]# mount /dev/sdb2 /backup
Duyệt các thư mục này, bạn có thể giữ bất kỳ dữ liệu nào ngay bây giờ. Bạn có thể thấy việc sử dụng đĩa bằng lệnh sau.
[root@localhost ~]# df -HT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 19G 5.3G 14G 28% /
devtmpfs devtmpfs 506M 0 506M 0% /dev
tmpfs tmpfs 514M 82k 514M 1% /dev/shm
tmpfs tmpfs 514M 7.4M 507M 2% /run
tmpfs tmpfs 514M 0 514M 0% /sys/fs/cgroup
/dev/sda1 xfs 521M 122M 400M 24% /boot
/dev/sdb1 xfs 2.0G 34M 2.0G 2% /data
/dev/sdb2 xfs 2.0G 34M 2.0G 2% /backup
Ở giai đoạn này, các phân vùng được gắn kết của chúng tôi là tạm thời. Nếu Hệ điều hành của chúng tôi được khởi động lại, các thư mục được gắn kết này sẽ bị mất. Vì vậy, chúng ta cần thực hiện gắn kết vĩnh viễn. Để thực hiện gắn kết vĩnh viễn, chúng ta phải đặt mục nhập vào tệp fstab.
Vì vậy, hãy mở tệp fstab và đặt hai mục cho sdb1 và sdb2 như ví dụ sau và lưu tệp fstab.
[root@localhost ~]# vim /etc/fstab
UUID=bee34176-dd55-479e-95c5-9545912d14b9 / xfs defaults 1 1
UUID=dede0f3e-6c9a-4185-afb4-f129fb873246 /boot xfs defaults 1 2
UUID=40464ff6-29e5-4492-9698-1b8229ca58f6 swap swap defaults 0 0
/dev/sdb1 /data xfs defaults 0 0
/dev/sdb2 /backup xfs defaults 0 0
Để gắn kết tất cả các hệ thống tệp trong tệp fstab, hãy thực hiện lệnh sau. Nếu có bất kỳ lỗi nào xảy ra trong tệp fstab, lệnh sau cũng sẽ hiển thị lỗi đó.
Quá trình tạo phân vùng mới với khả năng gắn cố định bằng tiện ích parted đã hoàn tất. Bây giờ chúng tôi sẽ trình bày cách xóa bất kỳ phân vùng nào trong CentOS/Red Hat 7 Linux nếu được yêu cầu.
Xóa phân vùng bằng Parted Tool trong CentOS 7 Linux
Đôi khi chúng tôi có thể yêu cầu xóa bất kỳ phân vùng nào. Sử dụng công cụ chia tay, chúng ta có thể dễ dàng xóa bất kỳ phân vùng nào vào bất kỳ lúc nào. Nhưng trước khi xóa bất kỳ phân vùng nào, bạn phải ngắt kết nối phân vùng đó và xóa mục nhập fastab. Giả sử, chúng tôi muốn xóa phân vùng sdb2. Vì vậy, trước tiên hãy xóa mục nhập fstab bằng cách mở bằng trình chỉnh sửa vim.
[root@localhost ~]# vim /etc/fstab
UUID=bee34176-dd55-479e-95c5-9545912d14b9 / xfs defaults 1 1
UUID=dede0f3e-6c9a-4185-afb4-f129fb873246 /boot xfs defaults 1 2
UUID=40464ff6-29e5-4492-9698-1b8229ca58f6 swap swap defaults 0 0
/dev/sdb1 /data xfs defaults 0 0
Bây giờ ngắt kết nối thư mục sao lưu được gắn vào phân vùng sdb2 bằng lệnh sau.
Bây giờ chúng tôi đã sẵn sàng xóa phân vùng sdb2 vì chúng tôi đã xóa mục nhập fstab và cũng đã ngắt kết nối thư mục sao lưu khỏi phân vùng sdb2. Bây giờ hãy đưa ra lệnh sau để xóa phân vùng sdb2. Để xóa một phân vùng bằng công cụ chia tay, chúng ta cần biết số phân vùng. Từ lệnh in, chúng ta có thể tìm thấy số phân vùng một cách dễ dàng.
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000MB 1999MB xfs primary
2 2000MB 4000MB 2001MB xfs primary
Lấy số phân vùng, chúng ta có thể xóa bất kỳ phân vùng nào bằng lệnh rm . Ban hành lệnh sau để xóa phân vùng số 2.
[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) rm 2
Phân vùng số 2 đã bị xóa. Bây giờ hãy chạy lệnh partprobe để cập nhật bảng phân vùng.
Cách cứu một phân vùng đã bị xóa
Đôi khi chúng tôi có thể loại bỏ bất kỳ phân vùng nào một cách không may. Công cụ chia tay có thể cứu bất kỳ phân vùng đã xóa nào trong vị trí Bắt đầu và Kết thúc. Ví dụ: chúng tôi muốn giải cứu phân vùng số 2 mà chúng tôi đã xóa trước đó. Vị trí bắt đầu của phân vùng 2 là 2GB và vị trí kết thúc là 4GB. Vì vậy, hãy ra lệnh giải cứu với các vị trí BẮT ĐẦU và KẾT THÚC này.
(parted) rescue 2GB 4GB
Information: A xfs primary partition was found at 2000MB -> 4000MB. Do you want to add it to the partition table?
Yes/No/Cancel? Y
(parted)
Với lệnh in, bạn sẽ thấy rằng phân vùng bị xóa đã được phục hồi.
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000MB 1999MB xfs primary
2 2000MB 4000MB 2001MB xfs
(parted)
Thay đổi kích thước (Thu nhỏ hoặc Mở rộng) Phân vùng bằng Công cụ đã chia
Công cụ chia tay có thể thay đổi kích thước phân vùng đĩa một cách dễ dàng. Nhưng trước khi thay đổi kích thước ổ đĩa, tốt hơn hết bạn nên sao lưu dữ liệu của mình cũng như bạn phải ngắt kết nối phân vùng vì ổ đĩa bận không thể thay đổi kích thước.
Lệnh resizepart được sử dụng để thu nhỏ hoặc mở rộng phân vùng. Lệnh resizepart chấp nhận hai đối số. Đối số đầu tiên là số phân vùng và đối số thứ hai là vị trí kết thúc. Nếu vị trí kết thúc nhỏ hơn vị trí kết thúc hiện tại, đĩa sẽ bị thu nhỏ và nếu vị trí kết thúc lớn hơn vị trí kết thúc hiện tại, đĩa sẽ được mở rộng nếu có dung lượng trống.
We will first shrink our partition 2 whose ending location is 4GB. Issue the following command to shrink the /dev/sdb2.
[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) resizepart 2 3GB
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y
(parted)
Vì vậy, phân vùng 2 hiện đã được thay đổi kích thước. Với lệnh in, bạn sẽ tìm thấy trạng thái hiện tại của phân vùng 2.
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000MB 1999MB xfs primary
2 2000MB 3000MB 1000MB xfs
(parted)
Bây giờ chúng ta sẽ thực hiện một ví dụ khác trong đó chúng ta sẽ mở rộng phân vùng 2. Đưa ra lệnh resizepart sau để mở rộng phân vùng 2 đến vị trí kết thúc 5GB.
(parted) resizepart 2 5GB
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000MB 1999MB xfs primary
2 2000MB 5000MB 3000MB xfs
(parted)
Bây giờ phân vùng 2 được mở rộng đến vị trí kết thúc 5GB. Với lệnh in, bạn sẽ tìm thấy trạng thái hiện tại của phân vùng 2(/dev/sdb2).
Nếu bạn gặp bất kỳ sự nhầm lẫn nào để thực hiện đúng các bước trên, hãy xem video bên dưới về cách quản lý phân vùng đĩa Linux CentOS/Red Hat 7 một cách cẩn thận. Tôi hy vọng nó sẽ làm giảm bất kỳ sự nhầm lẫn của bạn.
Cách quản lý phân vùng CentOS 7 hoặc Red Hat 7 Linux bằng tiện ích parted đã được thảo luận trong bài viết này. Tôi hy vọng bây giờ bạn có thể tạo một phân vùng mới, xóa một phân vùng, cứu một phân vùng đã xóa hoặc thay đổi kích thước một phân vùng bằng công cụ parted. Tuy nhiên, nếu bạn gặp phải bất kỳ sự nhầm lẫn nào khi quản lý Ổ đĩa của mình bằng công cụ đã chia, vui lòng thảo luận trong nhận xét hoặc liên hệ với tôi từ trang Liên hệ .