Việc quản lý và cấu hình lưu trữ trên các hệ thống Linux Server tại VietITPro.vn thường không đơn thuần chỉ là cắm một chiếc ổ cứng mới vào và chạy lệnh định dạng. Trong môi trường vận hành các hệ thống ảo hóa Proxmox, máy chủ cơ sở dữ liệu MySQL/PostgreSQL hay các cụm lưu trữ NAS nội bộ, một sai sót nhỏ trong việc phân vùng (partitioning) hoặc thiết lập gắn kết (mounting) có thể dẫn đến việc cạn kiệt không gian lưu trữ (inode exhaustion), sập cơ sở dữ liệu hoặc lỗi khởi động hệ thống (kernel panic do mất UUID trong /etc/fstab).
Bài viết này sẽ đúc kết toàn bộ quy trình thực tế từ góc nhìn của một kỹ sư hệ thống hạ tầng, đi sâu vào từng bước phân vùng ổ cứng dung lượng lớn, lựa chọn định dạng file system tối ưu, cấu hình tự động mount bền vững bằng UUID và các kỹ thuật xử lý sự cố thực tế trên các dòng máy chủ Dell PowerEdge, HPE ProLiant chạy Ubuntu Server và RHEL/AlmaLinux.
Nhận diện phần cứng lưu trữ và kiểm tra trạng thái ổ đĩa trên Linux
Trước khi thao tác bất kỳ lệnh ghi dữ liệu nào, việc định danh chính xác thiết bị lưu trữ vật lý là điều bắt buộc để tránh thao tác nhầm lên ổ đĩa hệ điều hành đang chạy (/dev/sda hoặc cấu hình NVMe /dev/nvme0n1).
Kiểm tra hệ thống thiết bị lưu trữ bằng công cụ dòng lệnh
Sử dụng lệnh lsblk kết hợp cờ để hiển thị cấu trúc cây thư mục của các thiết bị khối (block devices), kích thước, và trạng thái mount hiện tại:
Ví dụ kết quả trả về từ một máy chủ Dell PowerEdge R730 đang gắn thêm một ổ cứng SAS 4TB mới:
Trong ví dụ trên, hệ điều hành đang nằm trên ổ sda, và chiếc ổ cứng 4TB mới gắn vào được hệ điều hành nhận diện là sdb. Nếu hệ thống sử dụng bộ điều khiển phần cứng phần cứng RAID (Hardware RAID Controller như Dell PERC H730), các ổ đĩa vật lý sẽ được gom lại thành một ổ logic duy nhất (ví dụ /dev/sdb hoặc /dev/cciss/c0d0), trong khi hệ thống gắn ổ đĩa trực tiếp dạng JBOD hoặc Non-RAID sẽ hiển thị từng đĩa đơn lẻ.
Kiểm tra thông tin chi tiết và sức khỏe ổ đĩa với smartctl
Đối với các hệ thống Server hoạt động 24/7, việc kiểm tra thông số SMART (Self-Monitoring, Analysis and Reporting Technology) giúp sàng lọc các ổ cứng đã bị lỗi bad sector tiềm ẩn trước khi đưa vào khai thác:
Nếu thuộc tính SMART overall-health self-assessment test result trả về PASSED, ổ đĩa đủ điều kiện tiêu chuẩn để tiến hành phân vùng.
Lựa chọn bảng phân vùng (Partition Table): GPT hay MBR?
Với sự bùng nổ của dung lượng ổ cứng Server hiện nay (từ 2TB lên đến 20TB+), việc lựa chọn bảng phân vùng là yếu tố quyết định:
Khuyến nghị thực tế từ Kỹ sư VietITPro.vn: Tuyệt đối sử dụng GPT cho mọi ổ cứng gắn thêm trên Server Linux hiện đại, kể cả ổ đĩa dung lượng nhỏ dưới 2TB, nhằm tận dụng tính năng dự phòng bảng phân vùng và khả năng mở rộng không giới hạn về sau.
Quy trình phân vùng ổ cứng với công cụ parted
Trong môi trường Server không có giao diện đồ họa (headless server), parted là công cụ dòng lệnh mạnh mẽ, xử lý mượt mà các ổ đĩa dung lượng lớn vượt mốc 2TB mà fdisk truyền thống (phiên bản cũ) gặp hạn chế.
Bước 1: Khởi tạo bảng phân vùng GPT trên thiết bị
Truy cập vào thiết bị /dev/sdb:
Tại dấu nhắc lệnh của parted, thiết lập nhãn đĩa thành GPT:
Bước 2: Tạo phân vùng dữ liệu chiếm toàn bộ dung lượng ổ đĩa
Tạo một phân vùng chính (primary partition) bắt đầu từ dung lượng 0% đến 100% của ổ đĩa:
Kiểm tra lại cấu trúc phân vùng vừa tạo:
Kết quả hiển thị thông số phân vùng /dev/sdb1 với hệ thống file dự kiến. Thoát khỏi parted bằng lệnh:
Lưu ý kỹ thuật: Đối với các hệ thống phân vùng chuyên dụng cho cơ sở dữ liệu lớn (như phân tách thư mục /var/lib/mysql riêng biệt), bạn có thể chia thành nhiều phân vùng nhỏ hơn bằng cách chỉ định rõ dung lượng (ví dụ: mkpart primary ext4 0% 500GB và mkpart primary ext4 500GB 100%). Tuy nhiên, phương án chuẩn hiện nay là mỗi ổ đĩa vật lý chỉ tạo một phân vùng duy nhất và quản lý không gian thông qua Logical Volume Manager (LVM) hoặc mount trực tiếp thư mục.
Định dạng File System (Hệ thống tập tin) tối ưu cho Server Linux
Việc lựa chọn định dạng file system phụ thuộc hoàn toàn vào mục đích sử dụng thực tế của phân vùng Server:
1. Ext4: Hệ thống tập tin quốc dân, ổn định cực cao, tiêu tốn ít tài nguyên CPU và RAM. Phù hợp cho đa số nhu cầu lưu trữ tệp tin thông thường, web server, backup.
2. XFS: Hệ thống tập tin hiệu năng cao do SGI phát triển, thiết kế tối ưu cho các tệp tin kích thước cực lớn (Big Data, Video Streaming, Database Server). XFS hỗ trợ khả năng mở rộng trực tuyến (online resizing) cực nhanh và quản lý metadata bằng journaling song song.
3. Btrfs: Hỗ trợ tính năng CoW (Copy-on-Write), snapshot, và tích hợp RAID mềm. Thường dùng trong các hệ thống lưu trữ thử nghiệm hoặc tính năng snapshot nhanh, tuy nhiên cần cân nhắc kỹ về độ ổn định dưới tải trọng I/O ghi liên tục so với Ext4/XFS.
Thực hiện định dạng phân vùng sdb1
Để định dạng phân vùng /dev/sdb1 thành Ext4:
Giải thích thông số:
-m 1: Giảm không gian dành riêng cho root user xuống còn 1% (mặc định là 5%). Đối với ổ cứng dữ liệu lớn 4TB, việc giữ lại 5% tương đương lãng phí 200GB dung lượng trống.-L "DataDrive": Đặt nhãn (label) cho phân vùng để dễ dàng nhận diện sau này.
Nếu hệ thống yêu cầu hiệu năng ghi/đọc file dung lượng lớn cho Database, sử dụng XFS:
Mount ổ cứng (Gắn kết phân vùng) vào hệ thống thư mục
Mount là quá trình liên kết một phân vùng lưu trữ vào một thư mục nằm trong cấu trúc cây thư mục gốc (/) của Linux.
Bước 1: Tạo thư mục đích (Mount Point)
Tạo một thư mục để làm điểm gắn kết, ví dụ gắn vào /mnt/data hoặc /data:
Bước 2: Mount thử nghiệm thủ công
Thực hiện mount phân vùng /dev/sdb1 vào thư mục /data:
Kiểm tra lại trạng thái mount và dung lượng thực tế bằng lệnh df -h:
Bước 3: Cấu hình phân quyền truy cập
Sau khi mount, phân quyền mặc định của thư mục thường thuộc về tài khoản root:root. Bạn cần phân quyền lại tùy theo dịch vụ Server đang sử dụng (ví dụ cấp quyền cho user nginx hoặc postgres):
Cấu hình Auto-Mount vĩnh viễn qua /etc/fstab
Các lệnh mount thủ công bên trên sẽ mất đi hiệu lực ngay khi máy chủ khởi động lại (Reboot). Để hệ thống tự động mount ổ đĩa mỗi khi boot, bắt buộc phải cấu hình tệp /etc/fstab.
Lấy thông số UUID chính xác của phân vùng
Cảnh báo kỹ thuật: Tuyệt đối không sử dụng tên thiết bị kiểu truyền thống như /dev/sdb1 trong file /etc/fstab. Trong môi trường Server nhiều ổ cứng, khi khởi động lại, thứ tự nhận diện thiết bị có thể thay đổi (ví dụ /dev/sdb1 biến thành /dev/sdc1), dẫn đến lỗi không khởi động được hệ thống (Entering emergency mode). Luôn luôn sử dụng UUID hoặc Partition Label.
Lấy mã UUID của phân vùng:
Kết quả trả về dạng:
Chỉnh sửa tệp cấu hình fstab
Mở tệp /etc/fstab bằng trình soạn thảo nano:
Thêm dòng cấu hình sau vào cuối tệp:
Giải thích cấu trúc các trường trong dòng fstab:
1. UUID=...: Định danh duy nhất của ổ cứng.
2. /data: Đường dẫn thư mục mount point trên hệ thống.
3. ext4: Định dạng hệ thống tập tin của phân vùng.
4. defaults,nofail: Các tùy chọn gắn kết.
defaults: Gồmrw, suid, dev, exec, auto, nouser, async.nofail: Cực kỳ quan trọng cho Server! Tham số này ra lệnh cho hệ thống tiếp tục khởi động bình thường ngay cả khi ổ cứng này gặp sự cố phần cứng không phản hồi, tránh tình trạng treo máy chủ từ xa (trường hợp không thể truy cập iDRAC/IPMI để can thiệp thủ công).
5. 0: Tần suất sao lưu hệ thống bằng lệnh dump (thường đặt là 0).
6. 2: Thứ tự kiểm tra lỗi hệ thống tập tin bằng lệnh fsck khi khởi động (0 = không kiểm tra, 1 = kiểm tra đầu tiên cho phân vùng gốc /, 2 = kiểm tra sau phân vùng gốc).
Kiểm tra tính hợp lệ trước khi khởi động lại
Đây là bước sống còn của một kỹ sư hệ thống. Nếu cấu hình sai cú pháp trong /etc/fstab, Server sẽ không thể boot vào hệ điều hành. Chạy lệnh sau để kiểm tra:
Nếu lệnh chạy không trả về bất kỳ thông báo lỗi nào và df -h hiển thị đúng ổ đĩa, cấu hình của bạn đã hoàn toàn chính xác.
Xử lý sự cố thực tế và các Pan bệnh thường gặp trên Server
Dưới đây là các tình huống kỹ thuật thực tế mà đội ngũ kỹ thuật VietITPro.vn thường xuyên xử lý tại xưởng và tại trung tâm dữ liệu của khách hàng:
1. Lỗi Server bị treo ở màn hình "Emergency Mode" do hỏng ổ đĩa phụ trong fstab
- Triệu chứng: Máy chủ khởi động không lên màn hình dịch vụ, yêu cầu nhập mật khẩu root để chạy lệnh sửa lỗi thủ công. Nguyên nhân do ổ cứng thứ hai bị hỏng cơ học, không thể mount được nhưng thiếu tham số
nofailtrong/etc/fstab. - Cách xử lý khắc phục nhanh:
1. Nhập mật khẩu root để truy cập chế độ khẩn cấp.
2. Mở tệp cấu hình: nano /etc/fstab
3. Thêm từ khóa ,nofail vào dòng cấu hình của ổ đĩa lỗi, hoặc thêm dấu thăng # ở đầu dòng để tạm thời vô hiệu hóa phân vùng đó.
4. Lưu lại và khởi động lại hệ thống bằng lệnh reboot.
2. Lỗi "Read-only file system" (Hệ thống tập tin chuyển sang chế độ chỉ đọc)
- Triệu chứng: Không thể tạo file hoặc lưu dữ liệu trên phân vùng dữ liệu, thông báo lỗi
Read-only file system. Nguyên nhân xuất phát từ việc kernel phát hiện lỗi phần cứng phần cứng (bad sector nặng trên ổ cứng hoặc cáp SAS/SATA lỏng), tự động chuyển filesystem sang chế độ read-only nhằm bảo vệ dữ liệu khỏi bị ghi đè hỏng hóc thêm. - Quy trình xử lý chuyên sâu:
1. Kiểm tra log kernel gần nhất để xác định mã lỗi phần cứng:
2. Thực hiện kiểm tra và quét sửa lỗi filesystem thủ công (với điều kiện đã unmount phân vùng):
3. Thay thế cáp kết nối hoặc kiểm tra lại tủ đĩa phần cứng nếu lỗi lặp lại.
Tổng kết
Việc phân vùng và mount ổ cứng trên Linux Server không chỉ là thao tác gõ lệnh đơn thuần mà đòi hỏi sự cẩn trọng về mặt kiến trúc lưu trữ, tính sẵn sàng cao (High Availability) và khả năng dự phòng sự cố phần cứng. Nắm vững quy trình từ kiểm tra thiết bị, tạo phân vùng GPT chuẩn chỉnh, định dạng tối ưu đến cấu hình fstab an toàn với tham số nofail sẽ giúp hạ tầng máy chủ của doanh nghiệp vận hành ổn định, bền bỉ và hạn chế tối đa thời gian chết (downtime). Nếu hệ thống của bạn gặp các sự cố phức tạp về phân vùng, mất mát dữ liệu hoặc lỗi phần cứng vi mạch server, hãy liên hệ trực tiếp với đội ngũ chuyên gia tại VietITPro.vn để được hỗ trợ giải pháp kỹ thuật chiều sâu nhất.




