Cách phân vùng và định dạng thiết bị lưu trữ trong Linux
Chuẩn bị một đĩa mới để sử dụng trên hệ thống Linux có thể nhanh chóng và dễ dàng. Có rất nhiều công cụ, định dạng hệ thống file và sơ đồ phân vùng có thể làm phức tạp quá trình nếu bạn có nhu cầu chuyên biệt, nhưng nếu bạn muốn cài đặt và chạy nhanh chóng, nó khá đơn giản.Hướng dẫn này sẽ bao gồm quy trình sau:
- Nhận dạng đĩa mới trên hệ thống.
- Tạo một phân vùng duy nhất kéo dài toàn bộ ổ đĩa (hầu hết các hệ điều hành đều mong đợi một bố cục phân vùng, ngay cả khi chỉ có một hệ thống file )
- Định dạng phân vùng bằng hệ thống file Ext4 (mặc định trong hầu hết các bản phân phối Linux hiện đại)
- Gắn và cài đặt Tự động gắn hệ thống file khi khởi động
Cài đặt các công cụ
Để phân vùng ổ đĩa, ta sẽ sử dụng trình parted
. Trong hầu hết các trường hợp, điều này sẽ được cài đặt trên server .
Nếu bạn đang sử dụng server Ubuntu hoặc Debian và chưa parted
, bạn có thể cài đặt nó bằng lệnh :
- sudo apt-get update
- sudo apt-get install parted
Nếu bạn đang sử dụng server CentOS hoặc Fedora, bạn có thể cài đặt nó bằng lệnh :
- sudo yum install parted
Xác định đĩa mới trên hệ thống
Trước khi cài đặt ổ đĩa, ta cần xác định đúng cách nó trên server .
Nếu đây là một ổ đĩa hoàn toàn mới, cách dễ nhất để tìm nó trên server của bạn có thể là tìm sự vắng mặt của sơ đồ phân vùng. Nếu ta yêu cầu parted
liệt kê bố cục phân vùng của các đĩa của ta , nó sẽ cho ta lỗi đối với bất kỳ đĩa nào không có sơ đồ phân vùng hợp lệ. Điều này được dùng để giúp ta xác định đĩa mới:
- sudo parted -l | grep Error
Bạn sẽ thấy lỗi unrecognized disk label
mới, chưa được phân vùng:
OutputError: /dev/sda: unrecognised disk label
Bạn cũng có thể sử dụng lệnh lsblk
và tìm đĩa có kích thước chính xác không có phân vùng liên quan:
- lsblk
OutputNAME 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 /
Hãy nhớ kiểm tra lsblk
trong mỗi phiên trước khi thực hiện thay đổi. Số nhận dạng đĩa /dev/sd*
và /dev/hd*
sẽ không nhất thiết phải nhất quán giữa các lần khởi động, điều này nghĩa là có một số nguy cơ phân vùng hoặc định dạng sai đĩa nếu bạn không xác minh chính xác mã định dạng đĩa.
Cân nhắc sử dụng các mã định danh ổ đĩa bền vững hơn như /dev/disk/by-uuid
, /dev/disk/by-label
hoặc /dev/disk/by-id
. Xem phần giới thiệu của ta về các khái niệm và thuật ngữ lưu trữ trong bài viết Linux để biết thêm thông tin.
Khi bạn biết tên kernel đã gán cho đĩa của bạn , bạn có thể phân vùng ổ đĩa của bạn .
Phân vùng ổ đĩa mới
Như đã đề cập trong phần giới thiệu, ta sẽ tạo một phân vùng duy nhất bao trùm toàn bộ đĩa trong hướng dẫn này.
Chọn tiêu chuẩn phân vùng
Để làm điều này, trước tiên ta cần xác định tiêu chuẩn phân vùng mà ta muốn sử dụng. GPT là tiêu chuẩn phân vùng hiện đại hơn, trong khi tiêu chuẩn MBR cung cấp hỗ trợ rộng rãi hơn giữa các hệ điều hành. Nếu bạn không có bất kỳ yêu cầu đặc biệt nào, có lẽ tốt hơn là sử dụng GPT tại thời điểm này.
Để chọn tiêu chuẩn GPT , hãy chuyển vào đĩa bạn đã xác định như sau:
- sudo parted /dev/sda mklabel gpt
Nếu bạn muốn sử dụng định dạng MBR , hãy nhập định dạng này thay thế:
- sudo parted /dev/sda mklabel msdos
Tạo phân vùng mới
Sau khi định dạng được chọn, bạn có thể tạo một phân vùng bao gồm toàn bộ ổ đĩa bằng lệnh :
- sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
Nếu ta kiểm tra lsblk
, ta sẽ thấy phân vùng mới có sẵn:
- lsblk
OutputNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part /
Tạo một hệ thống file trên phân vùng mới
Bây giờ ta đã có sẵn một phân vùng, ta có thể định dạng nó thành một hệ thống file Ext4. Để thực hiện việc này, hãy chuyển phân vùng tới tiện ích mkfs.ext4
.
Ta có thể thêm nhãn phân vùng bằng cách chuyển cờ -L
. Chọn một tên sẽ giúp bạn xác định ổ đĩa cụ thể này:
sda
, sdb
, hda
, v.v. Các phân vùng trên các đĩa này có một số được nối vào cuối. Vì vậy, ta muốn sử dụng thông tin như sda1
chứ không phải sda
.- sudo mkfs.ext4 -L datapartition /dev/sda1
Nếu bạn muốn thay đổi nhãn phân vùng sau này, bạn có thể sử dụng lệnh e2label
:
- sudo e2label /dev/sda1 newlabel
Bạn có thể xem tất cả các cách khác nhau để xác định phân vùng của bạn bằng lsblk
. Ta muốn tìm tên, nhãn và UUID của phân vùng.
Một số version của lsblk
sẽ in tất cả thông tin này nếu ta nhập:
- sudo lsblk --fs
Nếu version của bạn không hiển thị tất cả các trường thích hợp, bạn có thể yêu cầu chúng theo cách thủ công:
- sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
Bạn sẽ thấy thông tin như thế này. Đầu ra được đánh dấu cho biết các phương pháp khác nhau mà bạn có thể sử dụng để tham chiếu đến hệ thống file mới:
OutputNAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda vda └─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /
Gắn hệ thống file mới
Bây giờ, ta có thể mount hệ thống file để sử dụng.
Tiêu chuẩn phân cấp hệ thống file khuyến nghị sử dụng /mnt
hoặc một folder con bên dưới nó cho các hệ thống file được gắn tạm thời. Nó không đưa ra khuyến nghị về nơi lắp thêm bộ nhớ lâu dài, vì vậy bạn có thể chọn bất kỳ sơ đồ nào bạn muốn. Đối với hướng dẫn này, ta sẽ gắn ổ đĩa dưới /mnt/data
.
Tạo folder bằng lệnh :
- sudo mkdir -p /mnt/data
Gắn hệ thống file tạm thời
Bạn có thể tạm thời mount hệ thống file bằng lệnh :
- sudo mount -o defaults /dev/sda1 /mnt/data
Tự động gắn hệ thống file khi khởi động
Nếu bạn muốn tự động mount hệ thống file mỗi khi server khởi động, hãy điều chỉnh file /etc/fstab
:
- sudo nano /etc/fstab
Trước đó, ta đã phát hành sudo lsblk --fs
để hiển thị ba mã định danh hệ thống file cho hệ thống file của ta . Ta có thể sử dụng bất kỳ cái nào trong số này trong file này. Ta đã sử dụng nhãn phân vùng bên dưới, nhưng bạn có thể thấy các dòng trông như thế nào bằng cách sử dụng hai số nhận dạng khác trong các dòng được chú thích:
. . . ## Use one of the identifiers you found to reference the correct partition # /dev/sda1 /mnt/data ext4 defaults 0 2 # UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2 LABEL=datapartition /mnt/data ext4 defaults 0 2
Bạn có thể tìm hiểu về các trường khác nhau trong file /etc/fstab
bằng lệnh man fstab
. Để biết thông tin về các tùy chọn mount có sẵn cho một loại hệ thống file cụ thể, hãy kiểm tra man [filesystem]
(như man ext4
). Hiện tại, các dòng mount ở trên sẽ giúp bạn bắt đầu.
Đối với SSD, tùy chọn discard
đôi khi được thêm vào để bật TRIM liên tục. Có tranh luận về hiệu suất và tác động toàn vẹn của việc thực hiện TRIM liên tục theo cách này và hầu hết các bản phân phối bao gồm phương pháp thực hiện TRIM định kỳ như một phương pháp thay thế.
Lưu file khi bạn hoàn tất.
Nếu trước đây bạn không mount hệ thống file , bây giờ bạn có thể mount nó bằng lệnh :
sudo mount -a
Kiểm tra Mount
Sau khi đã gắn ổ đĩa, ta nên kiểm tra đảm bảo rằng hệ thống file có thể truy cập được.
Ta có thể kiểm tra xem đĩa có sẵn trong kết quả hay không từ lệnh df
:
- df -h -x tmpfs -x devtmpfs
OutputFilesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data
Bạn cũng sẽ có thể lost+found
folder lost+found
trong folder /mnt/data
, thường chỉ ra folder root của hệ thống file Ext *:
- ls -l /mnt/data
Outputtotal 16 drwx------ 2 root root 16384 Jun 6 11:10 lost+found
Ta cũng có thể kiểm tra xem file được mount có khả năng đọc và ghi hay không bằng cách ghi vào file thử nghiệm:
- echo "success" | sudo tee /mnt/data/test_file
Đọc lại file chỉ đảm bảo việc ghi được thực thi chính xác:
- cat /mnt/data/test_file
Outputsuccess
Bạn có thể xóa file sau khi đã xác minh hệ thống file mới đang hoạt động bình thường:
- sudo rm /mnt/data/test_file
Kết luận
Ổ đĩa mới của bạn bây giờ sẽ được phân vùng, định dạng, mount và sẵn sàng để sử dụng. Đây là quy trình chung mà bạn có thể sử dụng để biến một đĩa thô thành một hệ thống file mà Linux có thể sử dụng để lưu trữ. Có nhiều phương pháp phân vùng, định dạng và mount phức tạp hơn có thể thích hợp hơn trong một số trường hợp, nhưng trên đây là điểm khởi đầu tốt để sử dụng chung.
Các tin liên quan
Cách thực hiện các tác vụ quản trị cơ bản cho thiết bị lưu trữ trong Linux2016-07-13
Giới thiệu về thuật ngữ và khái niệm lưu trữ trong Linux
2016-07-13
Cách cấu hình BIND làm server DNS Mạng riêng trên Ubuntu 16.04
2016-05-09
cách cấu hình bind làm server lưu trữ hoặc chuyển tiếp DNS trên Ubuntu 16.04
2016-05-02
Cách cài đặt và cấu hình Postfix làm server SMTP chỉ gửi trên Ubuntu 16.04
2016-04-29
Cách lưu trữ server chia sẻ tệp bằng Pydio trên Ubuntu 14.04
2016-04-29
Thiết lập server ban đầu với Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trong Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trong Ubuntu 16.04
2016-04-21