Bài viết này giới thiệu cơ bản cách quản lý phân vùng đĩa cứng trên hệ điều hành Linux giúp các bạn có thể tự học Linux dễ dàng.
1. Khái niệm cơ bản
1.1. File system
Một file system xác định cách lưu trữ dữ liệu hoặc thông tin và truy xuất từ đĩa lưu trữ. Đối với hệ điều hành Windows thì các file systems phổ biến là FAT32 và NTFS. Trên hệ điều hành Linux, các file system phổ biến là ext2, ext3, ext4, xfs, vfat, swap, ZFS và GlusterFS.
1.2. Bảng phân vùng
Phân vùng là một phần của không gian đĩa cứng. Một bảng phân vùng là một phân vùng(partition table) của đĩa chứa thông tin về kích thước và vị trí của các phân vùng trên đĩa cứng. Hai bảng phân vùng phổ biến nhất là MBR và GPT.
1.2.1. Master Boot Record(MBR)
MBR được giới thiệu lần đầu tiên với IBM PC DOS 2.0 vào năm 1983. MBR chứa thông tin về cách phân vùng logical chứa các hệ thống tệp được sắp xếp trên đĩa. Nó chứa code thực thi(bộ tải khởi động) để hoạt động như một trình tải cho hệ điều hành được cài đặt. MBR cũng chỉ hỗ trợ tối đa bốn phân vùng chính, nếu bạn muốn nhiều hơn, bạn phải tạo một trong các phân vùng chính của mình thành một phân vùng mở rộng của Wap và tạo các phân vùng hợp lý bên trong nó. MBR sử dụng 32 bit để lưu trữ địa chỉ khối và đối với các đĩa cứng có các sectors 512 byte, MBR xử lý tối đa 2TB (2^32 × 512 byte).
1.2.2. Bảng phân vùng GUID(GPT)
GPT có thể có 128 phân vùng. GPT sử dụng 64 bit cho địa chỉ khối và cho các đĩa cứng có các sectors 512 byte, kích thước tối đa là 9,4 ZB (9,4 × 10^21 byte) hoặc 8ZiB.
2. Quản lý phân vùng ổ cứng bằng tiện ích fdisk
2.1. Giới thiệu về fdisk
fdisk là tiện ích quản lý phân vùng đĩa cứng trên Linux. Sử dụng fdisk, bạn có thể xem, tạo, thay đổi kích thước, xóa, thay đổi, sao chép và di chuyển các phân vùng.
fdisk cho phép tạo tối đa bốn phân vùng chính được Linux cho phép với mỗi phân vùng yêu cầu kích thước tối thiểu 40mb.
Lưu ý: Công cụ fdisk không thể sử dụng đối với bảng phân vùng GUID(GPT) và nó không hoạt động phân vùng lớn hơn 2TB.
2.2. Sử dụng fdisk
2.2.1. Xem tất cả các phân vùng đĩa hiện có
Lệnh liệt kê danh sách phân vùng trên hệ thống đĩa của bạn và các phân vùng được sắp xếp theo tên /dev của thiết bị như /dev/sda
, /dev/sdb
, … Sử dụng lệnh sau để xem tất cả các phân vùng hiện có trong hệ thống.
[root@localhost ~]# fdisk -l
Disk /dev/sda: 34.4 GB, 34359738368 bytes, 67108864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ac2f2
Device Boot Start End Blocks Id System
/dev/sda1 2048 1050623 524288 82 Linux swap / Solaris
/dev/sda2 * 1050624 67108830 33029103+ 83 Linux
Disk /dev/loop0: 713 MB, 713031680 bytes, 1392640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7b3c6977
Device Boot Start End Blocks Id System
/dev/loop0p1 * 0 1392639 696320 0 Empty
/dev/loop0p2 392 12959 6284 ef EFI (FAT-12/16/32)
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x36c2f72f
Device Boot Start End Blocks Id System
2.2.2. Xem phân vùng trên một đĩa cụ thể
Khi chúng ta muốn xem tất cả các phân vùng trên một đĩa cụ thể, sử dụng lệnh sau để xem tất cả các phân vùng đĩa trên /dev/sda.
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 34.4 GB, 34359738368 bytes, 67108864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ac2f2
Device Boot Start End Blocks Id System
/dev/sda1 2048 1050623 524288 82 Linux swap / Solaris
/dev/sda2 * 1050624 67108830 33029103+ 83 Linux
2.2.3. Xem tất cả các lệnh disk
Sử dụng lệnh sau để xem tất cả các lệnh fdisk có sẵn
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x36c2f72f.
Nhập m để xem danh sách tất cả các lệnh có sẵn của fdisk có thể được sử dụng trên /dev/sda.
Command (m for help): m
Đầu ra sẽ là:
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
2.2.4. Tạo phân vùng mới
Lưu ý: Phải chọn đúng tên ổ cứng (ví dụ /dev/sdb), vì chọn sai có khả năng mất mát dữ liệu.
Để tạo phân vùng mới cuúng ta thực hiện các bước sau:
Bước 1: Nhập lệnh sau để nhập lệnh sau:
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x36c2f72f
Device Boot Start End Blocks Id System
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Bước 2: Nhập n để tạo phân vùng mới sẽ nhắc bạn chỉ định cho một phân vùng chính hoặc phân vùng mở rộng. Nhập p cho phân vùng chính hoặc e cho phân vùng mở rộng.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Bước 3: Sau đó, bạn sẽ được nhắc nhập số của phân vùng sẽ được tạo. Bạn có thể nhấn Enter để chấp nhận mặc định.
Partition number (1-4, default 1): 1
Bước 4: Sau đó, bạn sẽ được nhắc nhập kích thước của phân vùng sẽ được tạo ví dụ dưới chúng ta sẽ tạo đĩa với size 5GB. Bạn có thể nhấn Enter để sử dụng tất cả không gian có sẵn.
First sector (2048-33554431, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-33554431, default 33554431): 10002400
Partition 1 of type Linux and of size 4 MiB is set
Bước 5: Chạy lệnh w để lưu các thay đổi.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Tương tự chúng ta sẽ tạo phân vùng khác /dev/sdb2
.
Bước 6: Kiểm tra xem có phân vùng mới chưa.
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x36c2f72f
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10002400 5000176+ 83 Linux
/dev/sdb2 10002432 20002400 4999984+ 83 Linux
Bước 7: Chúng ta có hai phân vùng mới được tạo. Sau khi tạo phân vùng phải thông báo cho hệ điều hành để cập nhật bảng phân vùng. Thực hiện lệnh sau đây:
[root@localhost ~]# partprobe /dev/sdb
Bước 8: Bảng phân vùng đã được cập nhật. Chúng ta phải định dạng phân vùng của để sử dụng. Hệ thống định dạng tệp được hỗ trợ Linux là xfs. Lệnh sau để định dạng phân vùng sdb1 với xfs.
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=312511 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1250044, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Định dạng phân vùng sdb2 thành xfs bằng lệnh sau:
[root@localhost ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=312499 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1249996, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Bước 9: Sau khi định dạng thành công phân vùng mới các phân vùng đã có thể lưu trữ dữ liệu. Chúng ta phải gắn phân vùng vào thư mục. Tạo các thư mục này bằng lệnh sau:
[root@localhost ~]# mkdir /web /data
Bước 10: Gắn /etc/sdb1
vào /web/
và /etc/sdb2
vào /data/
bằng lệnh sau:
[root@localhost ~]# mount /dev/sdb1 /web/
[root@localhost ~]# mount /dev/sdb2 /data/
Kiểm tra sử dụng đĩa với lệnh sau:
[root@localhost ~]# df -HT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/cl-root xfs 15G 1.4G 14G 10% /
devtmpfs devtmpfs 952M 0 952M 0% /dev
tmpfs tmpfs 964M 0 964M 0% /dev/shm
tmpfs tmpfs 964M 9.3M 955M 1% /run
tmpfs tmpfs 964M 0 964M 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 187M 877M 18% /boot
tmpfs tmpfs 193M 0 193M 0% /run/user/0
/dev/sdb1 xfs 5.2G 34M 5.1G 6% /data
/dev/sdb2 xfs 5.2G 37M 5.1G 6% /web
Bước 11: Các phân vùng gắn kết của chúng ta là tạm thời. Nếu hệ điều hành đượ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 phải gắn kết vĩnh viễn. Để thực hiện gắn kết vĩnh viễn phải nhập trong tệp /etc/fstab
. Bạn có thể sử dụng trình soạn thảo vi để nhập vào:
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Mar 25 20:38:00 2019
#
# 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
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=c76528b7-acee-4deb-bbef-0dea1e296b59 /boot xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
UUID=59bff697-ab2c-416a-aeda-63c144113e9a /web xfs defaults 0 0
UUID=5a3b14e7-6258-418c-8756-c6b7fe66c5fe /data xfs defauts 0 0
Để lấy UUID của các phân vùng chúng ta thực hiện như sau:
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="59bff697-ab2c-416a-aeda-63c144113e9a" TYPE="xfs"
[root@localhost ~]# blkid /dev/sdb2
/dev/sdb2: UUID="5a3b14e7-6258-418c-8756-c6b7fe66c5fe" TYPE="xfs"
Khi đã biết UUID và hệ thống tệp, chúng tôi có thể nhập vào tệp /etc/fstab
. Các tập tin fstab
có định dạng sau.
[Device] [Mount Point] [File System Type] [Options] [Dump] [Pass]
Lưu lại file /etc/fstab
và chạy lệnh:
[root@localhost ~]# mount -a
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình trong file /etc/fstab
và chạy lại lệnh cho tới khi không có thông báo lỗi.
2.2.5. Xoá phân vùng đĩa cứng
Lưu ý: Phải chọn đúng tên ổ cứng (ví dụ /dev/sdb), vì chọn sai có khả năng mất mát dữ liệu.
Khi muốn kết hợp một số phân vùng để tạo thành một phân vùng lớn hơn bạn sẽ phải xóa các phân vùng đó. Để xóa một phân vùng có tên /dev/sdb2
, chúng ta thực hiện các bước sau:
Bước 1: Khi xóa bất kỳ phân vùng nào, chúng ta phải ngắt kết nối phân vùng và xóa mục nhập /etc/fstab
. Xóa mục nhập fstab bằng cách mở bằng trình chỉnh sửa vi.
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Mar 25 20:38:00 2019
#
# 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
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=c76528b7-acee-4deb-bbef-0dea1e296b59 /boot xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
UUID=59bff697-ab2c-416a-aeda-63c144113e9a /web xfs defaults 0 0
Bước 2: Ngắt kết nối thư mục /data được gắn vào phân vùng sdb2 bằng lệnh sau:
[root@localhost ~]# umount /data
Bước 3: Xem các phân vùng đĩa hiện có, sau đó chạy lệnh fdisk /dev/sdb
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x36c2f72f
Device Boot Start End Blocks Id System
/dev/sdb1 2048 100240 49096+ 83 Linux
/dev/sdb2 100352 1000324 449986+ 83 Linux
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Bước 4: Nhập d để xóa một phân vùng. Bạn sẽ được nhắc nhở để nhập số phân vùng trường hợp này chúng ta nhập 2 để xóa /dev/sdb2
. Lưu các thay đổi bằng cách nhập w.
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 is deleted
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x36c2f72f
Device Boot Start End Blocks Id System
/dev/sdb1 2048 100240 49096+ 83 Linux
3. Quản lý phân vùng ổ cứng bằng tiện ích parted
3.1. Giới thiệu về parted
parted là một chương trình để thao tác phân vùng đĩa. Nó hỗ trợ nhiều định dạng bảng phân vùng, bao gồm MS-DOS và GPT. Nó cho phép người dùng tạo, xóa, thay đổi kích thước, thu nhỏ, di chuyển và sao chép phân vùng, sắp xếp lại việc sử dụng đĩa và sao chép dữ liệu vào các đĩa cứng mới.
parted là một công cụ cấp cao hơn fdisk. Nó cho phép chúng ta tạo phân vùng khi kích thước đĩa lớn hơn 2TB nhưng fdisk không cho phép.
3.2. Cài đặt parted
parted cài đặt sẵn trên hầu hết các bản phân phối Linux. Nếu chưa được cài đặt sử dụng các lệnh sau để cài đặt:
- Đối với bản phân phối Debian/Ubuntu:
apt-get install parted
- Đối với với bản phân phối RHEL/CentOS:
yum install parted
3.3. Sử dụng tiện ích parted
3.3.1. Khởi chạy parted
Lệnh parted
dưới đây sẽ chọn đĩa /dev/sda
vì đây là ổ cứng đầu tiên trong hệ thống:
[root@localhost ~]# parted
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Chúng ta có thể đi chuyễn đến các đĩa khác bằng cách sử dụng lệnh:
(parted) select /dev/sdb
Using /dev/sdb
Khi bạn muốn vào đĩa cụ thể sử dụng lệnh sau:
[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)
3.3.2. Xem tất cả các phân vùng đĩa hiện có
Lệnh liệt kê danh sách phân vùng trên hệ thống đĩa của bạn và các phân vùng được sắp xếp theo tên /dev của thiết bị như /dev/sda
, /dev/sdb
, … Chạy lệnh sau, sẽ hiển thị tất cả tên đĩa có sẵn và các thông tin của phân vùng.
[root@localhost ~]# parted -l
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 17.2GB 16.1GB primary lvm
Error: /dev/sdb: unrecognised disk label
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Error: /dev/sdc: unrecognised disk label
Model: VMware Virtual disk (scsi)
Disk /dev/sdc: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Error: /dev/sdd: unrecognised disk label
Model: VMware Virtual disk (scsi)
Disk /dev/sdd: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
3.3.3. Tạo phân vùng mới
parted cho phép chúng ta tạo phân vùng chính hoặc mở rộng. Các bước thực hiện là giống nhau cho cả hai nhưng bạn phải một loại phân vùng thích hợp như primary hoặc extended khi tạo phân vùng.
Chúng ta sẽ tạo một phân vùng mới với 10GB trong ví dụ dưới đây:
Bước 1: Chọn đĩa mà phân vùng đang được tạo, trong ví dụ dưới đây /dev/sdb
được phân vùng. Bạn có thể chọn đĩa theo hai cách dưới đây:
[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)
Hoặc
[root@localhost ~]# parted
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/sdb
Using /dev/sdb
(parted)
Sau đó chạy lệnh help
để xem các tùy chọn khác nhau được cung cấp trong lệnh parted:
[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) 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
resizepart NUMBER END resize partition NUMBER
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
(parted)
Bước 2: Chọn loại partition table cho đĩa mới bằng:
(parted) mklabel msdos
Giá trị msdos tương ứng parition table loại mbr, còn giá trị là gpt thì là partition table loại GPT
Bước 3: Đặt đơn vị tính bằng Gigabyte(GB)
(parted) unit GB
Bước 4: Bắt đầu tạo phân vùng mới với mkpart
. Nhập primary cho phân vùng chính hoặc extended cho phân vùng mở rộng. Sau đó ta nhập size của phân dùng.
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]?
Start? 0.00GB
End? 10.00GB
Bước 5: Kiểm tra phân dùng vừa được tạo:
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 0.00GB 10.0GB 10.0GB primary
(parted) quit
Information: You may need to update /etc/fstab.
Chúng ta có thể tạo phân dùng với cú pháp sau đây:
parted [Disk Name] [mkpart] [Partition Type] [Filesystem Type] [Partition Start Size] [Partition End Size]
Tạo phân vùng 2 với size bằng 3GB:
parted /dev/sdb mkpart primary 10.0GB 13.0GB
Bước 6: Tiếp theo, thoát parted với lệnh quit
. Chúng ta sẽ định dạng phân vùng mới của chúng ta trong hệ thống tệp ext4 bằng cách sử dụng mkfs chạy lệnh sau:
[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkfs.ext4 /dev/sdb2
Bây giờ kiểm tra kết quả:
[root@localhost ~]# parted /dev/sdb print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 13.0GB 3000MB primary ext4
Lưu ý: Chọn đúng đĩa và phân vùng khi thực hiện lệnh trên.
Bước 7: Sau khi định dạng thành công phân vùng mới các phân vùng đã có thể lưu trữ dữ liệu. Chúng ta phải gắn phân vùng vào thư mục. Tạo các thư mục này bằng lệnh sau:
[root@localhost ~]# mkdir /data /backup
Bước 8: Gắn /etc/sdb1
vào /data/
và /etc/sdb2
vào /backup/
bằng lệnh sau:
[root@localhost ~]# mount /dev/sdb1 /data/
[root@localhost ~]# mount /dev/sdb2 /backup/
Kiểm tra sử dụng đĩa với lệnh sau:
[root@localhost ~]# df -HT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/cl-root xfs 15G 1.1G 14G 8% /
devtmpfs devtmpfs 954M 0 954M 0% /dev
tmpfs tmpfs 965M 0 965M 0% /dev/shm
tmpfs tmpfs 965M 9.0M 956M 1% /run
tmpfs tmpfs 965M 0 965M 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 145M 919M 14% /boot
tmpfs tmpfs 193M 0 193M 0% /run/user/0
/dev/sdb1 ext4 9.8G 38M 9.2G 1% /data
/dev/sdb2 ext4 2.9G 8.8M 2.8G 1% /backup
Bước 9: Các phân vùng gắn kết của chúng ta là tạm thời. Nếu hệ điều hành đượ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 phải gắn kết vĩnh viễn. Để thực hiện gắn kết vĩnh viễn phải nhập trong tệp /etc/fstab
. Bạn có thể sử dụng trình soạn thảo vi để nhập vào:
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Mar 25 20:38:00 2019
#
# 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
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=c76528b7-acee-4deb-bbef-0dea1e296b59 /boot xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
UUID=709d2fc0-699f-4b33-a973-86f4942c207d /data etx4 defaults 0 0
UUID=6a5b3985-cbff-477d-8642-0cfa36d6a76b /backup etx4 defauts 0 0
Để lấy UUID của các phân vùng chúng ta thực hiện như sau:
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="709d2fc0-699f-4b33-a973-86f4942c207d" TYPE="xfs"
[root@localhost ~]# blkid /dev/sdb2
/dev/sdb2: UUID="6a5b3985-cbff-477d-8642-0cfa36d6a76b" TYPE="xfs"
Khi đã biết UUID và hệ thống tệp, chúng tôi có thể nhập vào tệp /etc/fstab
. Các tập tin fstab
có định dạng sau.
[Device] [Mount Point] [File System Type] [Options] [Dump] [Pass]
Lưu lại file /etc/fstab
và chạy lệnh:
[root@localhost ~]# mount -a
Nếu có lỗi, không reboot server để tránh tình trạng server không thể khởi động. Kiểm tra cấu hình trong file /etc/fstab
và chạy lại lệnh cho tới khi không có thông báo lỗi.
3.3.4. Tạo phân vùng mới với tất cả không gian còn lại
Lệnh dưới đây tạo một phân vùng mới bắt đầu từ 13GB và kết thúc là toàn bộ không gian còn lại của đĩa:
Chúng ta có thể tạo phân dùng với cú pháp sau đây:
parted [Disk Name] [mkpart] [Partition Type] [Filesystem Type] [Partition Start Size] [Partition End Size]
Tạo phân vùng 3 với size bằng toàn bộ không gian còn lại của đĩa:
[root@localhost ~]# parted /dev/sdb mkpart primary 13.0GB 100%
Information: You may need to update /etc/fstab.
Bây giờ kiểm tra kết quả:
[root@localhost ~]# parted /dev/sdb print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 13.0GB 3000MB primary ext4
3 16.0GB 17.2GB 1180MB primary
3.3.5. Xoá phân vùng
Lưu ý: Đối với phân vùng đã được mount trước khi xoá chúng ta phải umonut phân vùng đó. Và vào file /etc/fstab để xoá phân vùng đã gắn kết.
Chúng ta có thể xóa phân vùng không sử dụng bằng lệnh rm. Sử dụng cú pháp sau đây sẽ loại bỏ phân vùng 3 /dev/sdb3
:
[root@localhost ~]# parted /dev/sdb rm 3
[root@localhost ~]# parted /dev/sdb print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 13.0GB 3000MB primary ext4
3.3.6. Đặt hoặc thay đổi cờ cho phân vùng
Chúng ta có thể thay đổi cờ phân vùng bằng cách sử dụng lệnh dưới đây. Chúng ta sẽ đặt lvm cho phân vùng 2 /dev/sdb2.
[root@localhost ~]# parted /dev/sdb set 2 lvm on
Information: You may need to update /etc/fstab.
[root@localhost ~]# parted /dev/sdb print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 13.0GB 3000MB primary ext4 lvm
3.3.7. Thay đổi kích thước phân vùng
parted cho phép người dùng thay đổi kích thước các phân vùng thành kích thước lớn và nhỏ hơn.
Chạy lệnh sau để kiểm tra phân vùng đĩa và không gian trống có sẵn, dung lượng của phân dùng hiện tại:
[root@localhost ~]# parted /dev/sdb print free
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 13.0GB 3000MB primary ext4 lvm
13.0GB 17.2GB 4180MB Free Space
[root@localhost ~]# df -HT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/cl-root xfs 15G 1.4G 14G 10% /
devtmpfs devtmpfs 952M 0 952M 0% /dev
tmpfs tmpfs 964M 0 964M 0% /dev/shm
tmpfs tmpfs 964M 9.3M 955M 1% /run
tmpfs tmpfs 964M 0 964M 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 187M 877M 18% /boot
tmpfs tmpfs 193M 0 193M 0% /run/user/0
/dev/sdb1 ext4 9.8G 38M 9.2G 1% /data
/dev/sdb2 ext4 2.9G 8.8M 2.8G 1% /backup
Cách 1: Tăng kích thước phân vùng bằng command truyền tham số trực tiếp
Chạy lệnh sau để tăng kích thước phân vùng 2 tăng 2GB (tăng end trong partition table 13GB to 15GB) chúng ta thực hiện như sau.
[root@localhost ~]# parted /dev/sdb resizepart 2 15.0GB
Information: You may need to update /etc/fstab.
Sau khi chạy lệnh trên thì parted chỉ tăng ở partition table, vì thế chúng ta phải chạy lệnh sau để resize:
- Đối với file system (ext2, ext3, ext4):
resize2fs
- Đối với file system (xfs):
xfs_growfs
Thực hiện như sau:
[root@localhost ~]# resize2fs /dev/sdb2
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sdb2 is mounted on /backup; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/sdb2 is now 1220637 blocks long.
[root@localhost ~]# parted /dev/sdb print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 15.0GB 5000MB primary ext4 lvm
[root@localhost ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/cl-root xfs 15G 1.4G 14G 10% /
devtmpfs devtmpfs 952M 0 952M 0% /dev
tmpfs tmpfs 964M 0 964M 0% /dev/shm
tmpfs tmpfs 964M 9.3M 955M 1% /run
tmpfs tmpfs 964M 0 964M 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 187M 877M 18% /boot
tmpfs tmpfs 193M 0 193M 0% /run/user/0
/dev/sdb1 ext4 9.8G 38M 9.2G 1% /data
/dev/sdb2 ext4 4.9G 12M 4.6G 1% /backup
Cách 2: Tăng kích thước phân vùng bằng interactive mode
Chạy lệnh sau để tăng kích thước phân vùng 2 lên 1GB (tăng End trong partition table 15GB to 16GB).
[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
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 15.0GB 5000MB primary ext4 lvm
(parted) resizepart
Partition number? 2
End? [15.0GB]? 16.0GB
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 16.0GB 6000MB primary ext4 lvm
(parted) quit
Information: You may need to update /etc/fstab.
Sau khi chạy lệnh trên thì parted chỉ tăng ở partition table, vì thế chúng ta phải chạy lệnh sau để resize:
- Đối với file system (ext2, ext 3, ext 4):
resize2fs
- Đối với file system (xfs):
xfs_growfs
[root@localhost ~]# resize2fs /dev/sdb2 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/sdb2 is mounted on /backup; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/sdb2 is now 1464778 blocks long. [root@localhost ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/cl-root xfs 15G 1.4G 14G 10% / devtmpfs devtmpfs 952M 0 952M 0% /dev tmpfs tmpfs 964M 0 964M 0% /dev/shm tmpfs tmpfs 964M 9.3M 955M 1% /run tmpfs tmpfs 964M 0 964M 0% /sys/fs/cgroup /dev/sda1 xfs 1.1G 187M 877M 18% /boot tmpfs tmpfs 193M 0 193M 0% /run/user/0 /dev/sdb1 ext4 9.8G 38M 9.2G 1% /data /dev/sdb2 ext4 5.9G 12M 5.6G 1% /backup
4. Các quản lý phân vùng Linux trong quá trình vận hành
4.1. Lệnh du
Lệnh du
ước tính và tóm tắt sử dụng không gian tệp và thư mục.
👉 Ví dụ 1: Liệt kê kích thước của một thư mục trong đơn vị đã cho (B/KB/MB):
[root@localhost ~]# du -b /etc/
4488 /etc/pki/rpm-gpg
195745 /etc/pki/ca-trust/extracted/java
347488 /etc/pki/ca-trust/extracted/openssl
680891 /etc/pki/ca-trust/extracted/pem
1224742 /etc/pki/ca-trust/extracted
...
[root@localhost ~]# du -k /etc/
12 /etc/audit
4 /etc/kernel/postinst.d
4 /etc/kernel
0 /etc/sudoers.d
30172 /etc/
...
[root@localhost ~]# du -m /etc/
1 /etc/audit
1 /etc/kernel/postinst.d
1 /etc/kernel
0 /etc/sudoers.d
30 /etc/
...
👉 Ví dụ 2: Liệt kê các kích thước của một thư mục ở dạng có thể đọc được(tự động chọn đơn vị thích hợp cho từng kích thước):
[root@localhost ~]# du -h /etc/
12K /etc/pki/rpm-gpg
196K /etc/pki/ca-trust/extracted/java
344K /etc/pki/ca-trust/extracted/openssl
672K /etc/pki/ca-trust/extracted/pem
1.2M /etc/pki/ca-trust/extracted
...
Hiển thị kích thước của một thư mục, theo đơn vị người có thể đọc được:
[root@localhost ~]# du -sh /etc/
30M /etc/
4.2. Lệnh df
Lệnh df
cung cấp một cái nhìn tổng quan về việc sử dụng không gian đĩa hệ thống tập tin.
👉 Ví dụ 1: Hiển thị tất cả các hệ thống tệp và sử dụng đĩa của chúng
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 17811456 1037568 16773888 6% /
devtmpfs 488984 0 488984 0% /dev
tmpfs 499968 0 499968 0% /dev/shm
tmpfs 499968 6844 493124 2% /run
tmpfs 499968 0 499968 0% /sys/fs/cgroup
/dev/sda1 1038336 141596 896740 14% /boot
tmpfs 99996 0 99996 0% /run/user/0
/dev/sdb1 10666936 40984 10061044 1% /data
/dev/sdb2 9199252 36888 8672016 1% /backupp
👉 Ví dụ 2: Hiển thị tất cả các hệ thống tệp và việc sử dụng đĩa của chúng ở dạng người có thể đọc được
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 17G 1014M 16G 6% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 139M 876M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 11G 41M 9.6G 1% /data
/dev/sdb2 8.8G 37M 8.3G 1% /backup
Chúng ta cũng có thể hiển thị tất cả các hệ thống tệp và việc sử dụng đĩa của chúng ở dạng người có thể đọc được bằng tuỳ chọn -H
. Nhưng tùy chọn -H
n sẽ dùng 1000 byte khi tính(1KB=1000byte) thay vì dùng 1024 byte (1MB=1000byte) như tùy chọn -h
.
[root@ngocdang ~]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 17G 1.4G 16G 10% /
devtmpfs 493M 0 952M 0% /dev
tmpfs 498M 0 964M 0% /dev/shm
tmpfs 498M 9.3M 955M 1% /run
tmpfs 498M 0 964M 0% /sys/fs/cgroup
/dev/sda1 1.1G 187M 877M 18% /boot
tmpfs 133M 0 133M 0% /run/user/0
/dev/sdb1 12G 42M 12G 1% /data
/dev/sdb2 9.2G 38M 8.7G 1% /backup
4.3. Lệnh fsck
Lệnh fsck
kiểm tra và sửa chữa hệ thống tệp Linux.
👉 Ví dụ 1: Chúng ta có thể kiểm tra một hệ thống tập tin cụ thể /dev/sdb1 như bên dưới.
[root@localhost ~]# fsck /dev/sdb1
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb1: clean, 12/686784 files, 200300/2742624 blocks
Sau đây là các mã(return code) có thể cho lệnh fsck:
- 0: Không có lỗi
- 1: Sửa lỗi hệ thống tập tin
- 2: Hệ thống nên được khởi động lại
- 4: Lỗi hệ thống tập tin không được quan tâm
- 8: Lỗi vận hành
- 16: Lỗi sử dụng hoặc cú pháp
- 32: Fsck bị hủy theo yêu cầu của người dùng
- 128: Lỗi thư viện dùng chung
👉 Ví dụ 2: Chúng ta có thể buộc fsck
kiểm tra hệ thống tập tin bằng cách sử dụng tuỳ chọn -f
như bên dưới.
[root@localhost ~]# fsck /dev/sdb1 -f
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 12/686784 files (0.0% non-contiguous), 200300/2742624 blocks
4.4. Lệnh e2fsck
Lệnh e2fsck
là một bộ tập hợp các công cụ để bảo trì các kiểu hệ thống tệp ext2, ext3 và ext4.
👉 Ví dụ 1: Sử dụng tùy chọn -p
, lệnh e2fsck
kiểm tra và tự động sửa chữa tất cả các vấn đề mà không cần nhắc bạn xác nhận.
[root@localhost ~]# e2fsck -p /dev/sdb1
/dev/sdb1: clean, 12/686784 files, 200300/2742624 blocks
👉 Ví dụ 2: Sử dụng tùy chọn -y
, câu trả lời sẽ sử dụng câu trả lời yes cho tất cả các câu hỏi được yêu cầu bởi lệnh e2fsck
.
[root@localhost ~]# e2fsck -y /dev/sdb1
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb1: clean, 12/686784 files, 200300/2742624 blocks
👉 Ví dụ 3: Sử dụng tùy chọn -n
, lệnh e2fsck
chỉ thực hiện kiểm tra không thực hiện bất kỳ thay đổi nào đối với hệ thống tập tin.
[root@localhost ~]# e2fsck -n /dev/sdb1
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb1: clean, 12/686784 files, 200300/2742624 blocks
👉 Ví dụ 4: Khi hệ thống tập tin sạch sẽ, nó sẽ không thực hiện bất kỳ kiểm tra nào. Tuy nhiên, nếu bạn muốn buộc kiểm tra hệ thống tập tin, ngay cả khi nó sạch, hãy sử dụng tùy chọn -f
như bên dưới.
[root@localhost ~]# e2fsck -f /dev/sdb1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 12/686784 files (0.0% non-contiguous), 200300/2742624 blocks
4.5. Lệnh mke2fs
Lệnh mke2fs
để tạo một hệ thống tập tin ext2/ext3/ext4.
👉 Ví dụ 1: Để tạo một hệ thống tập tin trên thiết bị
[root@localhost ~]# mke2fs /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
593344 inodes, 2369838 blocks
118491 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2428502016
73 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
👉 Ví dụ 2: Để chỉ định kích thước khối theo byte
[root@localhost ~]# mke2fs -b 1024 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
592896 inodes, 9479352 blocks
473967 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=76808192
1158 block groups
8192 blocks per group, 8192 fragments per group
512 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
1024001, 1990657, 2809857, 5120001, 5971969
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
👉 Ví dụ 3: Để kiểm tra các thiết bị cho các khối xấu
[root@localhost ~]# mke2fs -c /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
593344 inodes, 2369838 blocks
118491 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2428502016
73 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Checking for bad blocks (read-only test): done
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
4.6. Lệnh tune2fs
Lệnh tune2fs
được sử dụng để sửa đổi các tham số có thể điều chỉnh trên các hệ thống tệp kiểu ext2, ext3 và ext4.
👉 Ví dụ 1: Sử dụng tùy chọn -l
như hiển thị bên dưới, sẽ liệt kê tất cả các tham số và giá trị của nó.
[root@localhost ~]# tune2fs -l /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 83c642e8-5faf-4f61-bc96-8094c3071041
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 686784
Block count: 2742624
Reserved block count: 137131
Free blocks: 2692816
Free inodes: 686773
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 669
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8176
Inode blocks per group: 511
Filesystem created: Sat Apr 6 16:56:57 2019
Last mount time: n/a
Last write time: Sat Apr 6 16:57:04 2019
Mount count: 0
Maximum mount count: -1
Last checked: Sat Apr 6 16:56:57 2019
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Default directory hash: half_md4
Directory Hash Seed: 14dc4016-46ac-4987-bc1a-6ac0c4ece456
👉 Ví dụ 2: Chuyển đổi loại hệ thống tập tin
Bạn có thể sử dụng tùy chọn -j
để chuyển đổi hệ thống tệp ext2 sang ext3 như bên dưới.
tune2fs -j /dev/sdb1
Lưu ý: Chỉ thực hiện lệnh trên trên hệ thống kiểm tra cho mục đích thử nghiệm.
Bạn có thể sử dụng tùy chọn -O
để chuyển đổi hệ thống tệp ext3 sang ext4 như bên dưới.
tune2fs -O extents,uninit_bg,dir_index /dev/sda2
Lưu ý: Chỉ thực hiện lệnh trên trên hệ thống kiểm tra cho mục đích thử nghiệm. Bạn có thể làm hỏng hệ thống tập tin của mình.
4.7. Lệnh xfs_repair
Lệnh xfs_repair
sửa chữa một hệ thống tập tin xfs.
Kiểm tra tính nhất quán hệ thống tệp và sửa chữa xfs có thể được thực hiện bằng lệnh xfs_repair
. Bạn có thể chạy lệnh với tuỳ chọn -n
để nó không sửa đổi bất cứ thứ gì trên hệ thống tập tin. Nó sẽ chỉ quét và báo cáo những sửa đổi sẽ được thực hiện.
[root@localhost ~]# xfs_repair -n /dev/sdb1
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan (but don't clear) agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
4.8. Lệnh xfs_fsr
Lệnh xfs_fsr
sắp xếp lại hệ thống tập tin xfs.
Lệnh xfs_fsr sắp xếp lại tất cả các tệp thông thường trong tất cả các hệ thống tệp được gắn kết.
[root@localhost ~]# xfs_fsr /dev/sdb1
/data start inode=0
Bạn có thể chỉ định thời gian nó chạy theo tùy chọn -t
cú pháp sau:
xfs_fsr -t [time]
Lệnh xfs_fsr có một tính năng ghi lại hệ thống tệp nơi nó rời khỏi lần chạy trước, vì vậy nó có thể bắt đầu ở đó vào lần tiếp theo. Thông tin này được lưu trữ trong tệp /var/tmp/.fsrlast_xfs. Nếu thông tin tìm thấy ở đây không nhất quán hoặc lỗi thời, nó sẽ bị bỏ qua và tổ chức lại bắt đầu từ đầu hoặc hệ thống tập tin đầu tiên được tìm thấy trong /etc/mtab.
4.9. Lệnh xfs_db
Lệnh xfs_db
gỡ lỗi hệ thống tập tin xfs
Chạy lệnh xfs_db
trên đường dẫn thiết bị và khi bạn đã nhập xfs_db
dấu nhắc, hãy chạy lệnh version
.
[root@localhost ~]# xfs_db /dev/sdb1
xfs_db> version [feature | versionnum features2]
versionnum [0xb4a5+0x18a] = V5,NLINK,DIRV2,ALIGN,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT,PROJID32BIT,CRC,FTYPE
xfs_db> quit
Lệnh xfs_db
thường được sử dụng để kiểm tra hệ thống tệp xfs. Lệnh version
được sử dụng để kích hoạt các tính năng trong hệ thống tập tin.
5. Lời kết
Qua bài trên, giúp cho chúng ta biết cách chia phân vùng đĩa cứng chuẩn MBR lẫn GPT bằng việc sử dụng tiện ích fdisk hoặc tiện ích parted trên hệ điều hành Linux, cách quản lý các phân vùng này trong quá trình vẫn hành và các lệnh repair lại phân vùng khi gặp lỗi trong quá trình sử dụng.
https://blogd.net/linux/quan-ly-phan-vung-dia-cung-tren-linux/