Hướng dẫn lệnh cơ bản liên quan đến lưu trữ trong Linux

du, df, lsblk, mount Linux

Có rất nhiều công cụ có sẵn để quản lý bộ nhớ trong Linux. Tuy nhiên, chỉ một vài công cụ được sử dụng cho công việc bảo trì và quản trị hàng ngày. Trong hướng dẫn này, bạn sẽ được làm quen với một số tiện ích thường dùng nhất để quản lý các điểm mount, thiết bị lưu trữ và hệ thống tập tin, Các lệnh cơ bản liên quan đến lưu trữ trong Linux.

Tài liệu tham khảo khác

Hướng dẫn này không đề cập đến cách chuẩn bị thiết bị lưu trữ cho lần sử dụng đầu tiên trên hệ thống Linux. Nếu bạn chưa thiết lập lưu trữ, hãy tham khảo hướng dẫn phân vùng và định dạng thiết bị lưu trữ trong Linux để biết cách chuẩn bị thiết bị lưu trữ thô của mình.

Để hiểu rõ hơn về một số thuật ngữ được sử dụng trong lĩnh vực lưu trữ, hãy tham khảo bài viết thuật ngữ lưu trữ.

Xác định Dung Lượng và Mức Sử Dụng Lưu Trữ với df

Thông tin quan trọng nhất bạn cần biết về lưu trữ của hệ thống là dung lượng tổng và mức sử dụng hiện tại của các thiết bị lưu trữ được kết nối.

Để kiểm tra tổng dung lượng lưu trữ sẵn có và xem mức sử dụng hiện tại của ổ đĩa, hãy dùng tiện ích df. Mặc định, lệnh này xuất ra các số đo theo đơn vị 1K block, điều này đôi khi không thực sự tiện lợi. Bạn có thể thêm tham số -h để hiển thị theo đơn vị dễ đọc hơn:

df -h

Output

Filesystem      Size  Used Avail Use% Mounted on
udev            238M     0  238M   0% /dev
tmpfs            49M  624K   49M   2% /run
/dev/vda1        20G  1.1G   18G   6% /
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/1000
/dev/sda1        99G   60M   94G   1% /mnt/data

Ở đây, phân vùng /dev/vda1 được gắn vào / đang sử dụng 6% dung lượng với 18G trống, trong khi phân vùng /dev/sda1 được gắn vào /mnt/data gần như trống với 94G trống. Các mục còn lại sử dụng hệ thống tập tin kiểu tmpfs hoặc devtmpfs – là bộ nhớ tạm thời được sử dụng như lưu trữ thường trực. Bạn có thể loại trừ các mục này bằng cách gõ:

df -h -x tmpfs -x devtmpfs

Output:

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/sda1        99G   60M   94G   1% /mnt/data

Kết quả này cho thấy mức sử dụng ổ đĩa hiện tại một cách rõ ràng hơn bằng cách loại bỏ một số thiết bị đặc biệt và ảo.

df Linux

Tìm Thông Tin về Các Thiết Bị Block với lsblk

Một thiết bị block là thuật ngữ chung dùng cho thiết bị lưu trữ mà đọc hoặc ghi dữ liệu theo các khối có kích thước xác định. Thuật ngữ này áp dụng cho hầu hết các loại lưu trữ không bay hơi như ổ cứng HDD, ổ SSD, v.v. Thiết bị block là thiết bị vật lý nơi hệ thống tập tin được ghi vào, và hệ thống tập tin quyết định cách dữ liệu và các tập tin được lưu trữ.

Tiện ích lsblk có thể được sử dụng để hiển thị thông tin về các thiết bị block. Các khả năng cụ thể của tiện ích phụ thuộc vào phiên bản được cài đặt, nhưng nhìn chung, lệnh lsblk có thể hiển thị thông tin về ổ đĩa, thông tin phân vùng và hệ thống tập tin đã được ghi vào.

Nếu không có đối số nào, lsblk sẽ hiển thị tên thiết bị, số hiệu major và minor liên quan đến thiết bị (được Linux kernel sử dụng để theo dõi driver và thiết bị), thông tin về tính di động của ổ đĩa, dung lượng, trạng thái chỉ đọc hay không, loại thiết bị (đĩa hoặc phân vùng) và điểm mount của nó. Trên một số hệ thống, cần sử dụng sudo để hiển thị thông tin chính xác:

sudo lsblk

Output:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
vda    253:0    0   20G  0 disk 
└─vda1 253:1    0   20G  0 part /

Trong kết quả hiển thị, phần quan trọng nhất thường là tên thiết bị (ví dụ như /dev/sda), kích thước, loại và điểm mount. Ở đây, bạn có một ổ đĩa (/dev/vda) với một phân vùng (/dev/vda1) được sử dụng làm phân vùng gốc / và một ổ đĩa khác (/dev/sda) chưa được phân vùng.

Để lấy thông tin liên quan nhiều hơn đến quản lý đĩa và phân vùng, bạn có thể dùng tham số --fs trên một số phiên bản:

sudo lsblk --fs

Output:

NAME   FSTYPE LABEL  UUID                                 MOUNTPOINT
sda                                                       
vda                                                       
└─vda1 ext4   DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /

Nếu tham số --fs không khả dụng trên hệ thống của bạn, bạn có thể tái tạo kết quả bằng cách sử dụng tham số -o để yêu cầu hiển thị các trường thông tin cụ thể. Ví dụ:

sudo lsblk -t

Output:

NAME   FSTYPE LABEL  UUID                                 MOUNTPOINT
sda                                                       
vda                                                       
└─vda1 ext4   DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /

Để lấy thông tin về topology của đĩa, bạn gõ:

sudo lsblk -t

Output:

NAME   ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE  RA WSAME
sda            0    512      0     512     512    1 deadline     128 128    2G
vda            0    512      0     512     512    1              128 128    0B
└─vda1         0    512      0     512     512    1              128 128    0B

Có nhiều phím tắt khác giúp hiển thị các thuộc tính liên quan đến ổ đĩa và phân vùng. Bạn có thể hiển thị tất cả các cột có sẵn bằng tham số -O hoặc tùy chỉnh các trường cần hiển thị bằng cách chỉ định tên cột với tham số -o. tham số -h có thể được dùng để liệt kê các cột có sẵn:

lsblk -h

Output:

. . .

Available columns (for --output):
        NAME  device name
       KNAME  internal kernel device name

       . . .

  SUBSYSTEMS  de-duplicated chain of subsystems
         REV  device revision
      VENDOR  device vendor

For more details see lsblk(8).

Hướng dẫn cách Mount Hệ Thống Tập Tin

Trước khi sử dụng một ổ đĩa mới, thông thường bạn cần phân vùng nó, định dạng với một hệ thống tập tin, và sau đó mount ổ đĩa hoặc các phân vùng. Quá trình phân vùng và định dạng thường chỉ thực hiện một lần. Để biết thêm chi tiết cách phân vùng và định dạng ổ đĩa trong Linux, hãy xem hướng dẫn phân vùng và định dạng thiết bị lưu trữ trong Linux.

Mount hệ thống tập tin là thao tác mà bạn có thể thực hiện thường xuyên hơn. Việc mount cho phép hệ thống truy cập vào hệ thống tập tin qua một điểm mount được chỉ định – đó là thư mục dưới đó hệ thống tập tin mới sẽ được truy cập.

Hai lệnh cơ bản dùng để quản lý mountmountumount.

  • Lệnh mount được dùng để gắn một hệ thống tập tin vào cây thư mục hiện hành. Trong hệ thống Linux, toàn bộ hệ thống tập tin được hợp nhất thành một cây thư mục duy nhất, bất kể số lượng thiết bị vật lý cấu thành nên nó.
  • Lệnh umount (lưu ý: không phải là unmount) được dùng để tháo hệ thống tập tin ra khỏi cây thư mục. Ngoài ra, lệnh findmnt cũng rất hữu ích để thu thập thông tin về trạng thái của các hệ thống tập tin đang được mount.

Sử Dụng Lệnh mount

Cách đơn giản nhất để sử dụng lệnh mount là chỉ định thiết bị hoặc phân vùng đã định dạng và điểm mount mà bạn muốn gắn nó vào:

sudo mount /dev/sda1 /mnt

Điểm mount (tham số cuối cùng chỉ định nơi trong hệ thống tập tin mà hệ thống tập tin mới được gắn vào) hầu như luôn phải là một thư mục trống.

Thông thường, bạn sẽ muốn chọn thêm các tùy chọn cụ thể khi mount. Mặc dù lệnh mount có thể tự động nhận diện kiểu hệ thống tập tin, nhưng tốt hơn hết bạn nên chỉ định kiểu hệ thống tập tin bằng tham số -t. Ví dụ, với hệ thống tập tin Ext4, bạn có thể dùng:

sudo mount -t ext4 /dev/sda1 /mnt

Có rất nhiều tùy chọn khác có thể ảnh hưởng đến cách hệ thống tập tin được mount. Các tùy chọn mount chung có thể được tìm thấy trong phần FILESYSTEM INDEPENDENT MOUNT OPTIONS của trang hướng dẫn mount.

Bạn có thể truyền thêm các tùy chọn với tham số -o. Ví dụ, để mount một phân vùng với các tùy chọn mặc định (tương đương với rw,suid,dev,exec,auto,nouser,async), bạn có thể sử dụng -o defaults. Nếu bạn cần ghi đè quyền truy cập đọc-ghi và mount dưới chế độ chỉ đọc, bạn có thể thêm ro vào sau, sẽ ghi đè lên rw từ tùy chọn mặc định:

sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt

Để mount tất cả các hệ thống tập tin được liệt kê trong file /etc/fstab, bạn dùng tùy chọn -a:

sudo mount -a

Liệt Kê Các Tùy Chọn Mount Của Hệ Thống Tập Tin

Để hiển thị các tùy chọn mount được sử dụng cho một điểm mount cụ thể, bạn có thể dùng lệnh findmnt. Ví dụ, nếu bạn muốn xem chi tiết điểm mount chỉ đọc đã được thiết lập ở ví dụ trên, bạn có thể dùng:

findmnt /mnt

Output

TARGET SOURCE    FSTYPE OPTIONS
/mnt   /dev/sda1 ext4   ro,relatime,data=ordered

Điều này hữu ích nếu bạn đang thử nghiệm với nhiều tùy chọn và cuối cùng đã tìm ra bộ tùy chọn phù hợp. Bạn có thể sử dụng kết quả từ findmnt để biết thêm các tùy chọn thích hợp cần thêm vào file /etc/fstab cho lần mount sau.

Cách unmount Một Hệ Thống Tập Tin

Lệnh umount được sử dụng để tháo một hệ thống tập tin đã được mount. Lưu ý, lệnh này là umount chứ không phải unmount.

Cấu trúc chung của lệnh là chỉ định điểm mount hoặc thiết bị của hệ thống tập tin đang được mount. Hãy đảm bảo rằng bạn không đang sử dụng bất kỳ tập tin nào trên điểm mount đó và không có ứng dụng nào (bao gồm cả shell hiện tại) đang hoạt động bên trong thư mục đó:

cd ~
sudo umount /mnt

Thông thường, không cần thêm các tùy chọn cho hành vi mặc định của lệnh tháo mount.

Kết Luận

Mặc dù danh sách này không bao gồm tất cả các tiện ích, nhưng những công cụ được liệt kê ở trên hầu như đáp ứng được hầu hết các nhu cầu quản trị hệ thống hàng ngày của bạn. Bằng cách nắm vững một vài lệnh cơ bản, bạn có thể dễ dàng quản lý các thiết bị lưu trữ trên máy chủ của mình.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *