Tại sao phải mount/umount trên Linux
Khác với Windows, trên Linux để có thể truy cập/sử dụng các thiết bị như USB, đĩa CD/DVD, file ISO, phân vùng ổ cứng, các tài nguyên được chia sẻ qua mạng [gọi chung là thiết bị]… thì trước hết các thiết bị này các được gắn kết [mount] vào 1 thư mục trống [gọi là mount point]. Và khi muốn tháo gỡ thiết bị đang hoạt động khỏi hệ thống thì bạn phải ngắt kết nối [umount] giữa thiết bị với mount point trước đó. Bài viết này sẽ hướng dẫn các bạn sử dụng 2 lệnh mount và umount trên Linux để thực hiện công việc gắn kết và tháo gỡ ổ cứng [HDD] trên Linux.
Mount ổ cứng
Mount ổ cứng bằng device file
Khi bạn gắn thêm ổ cứng vào máy tính/server chạy hệ điều hành Linux, hệ thống sẽ nhận ổ cứng đó với một device file đặt ở thư mục /dev.
Để kiểm tra danh sách ổ cứng và phân vùng được nhận trên Linux bạn sử dụng lệnh sau:
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.5T 0 disk ├─sda1 8:1 0 190M 0 part /boot/efi ├─sda2 8:2 0 286M 0 part /boot └─sda3 8:3 0 1.5T 0 part ├─centos-root 253:0 0 1.5T 0 lvm / └─centos-swap 253:1 0 14.9G 0 lvm [SWAP] sdb 8:16 0 2.7T 0 disk └─sdb1 8:17 0 2.7T 0 part sr0 11:0 1 1024M 0 rom
Như trên ta thấy có một ổ cứng mới được gắn vào hệ thống có đường dẫn device file là /dev/sdb với phân vùng /dev/sdb1
Cú pháp lệnh mount:
mount -t -o
Ví dụ để mount ổ cứng trên vào thư mục /home/tmp có sẵn, mình sẽ sử dụng câu lệnh sau:
mount -t ext4 -o defaults /dev/sdb1 /home/tmp/
ev/sdb1 /home/tmp/
– o default ở đây bao gồm rw, suid, dev, exec, auto, nouser, và async. Để xem các option khác, các bạn truy cập //man7.org/linux/man-pages/man8/mount.8.html
Để kiểm tra quá trình mount thành công hay chưa, các bạn thực thi lệnh df -h. Nếu console log tương tự như bên dưới là thành công.
[root@ITFROMZERO~]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/centos-root 1.5T 611G 864G 42% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 410M 7.4G 6% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda2 280M 204M 77M 73% /boot /dev/sda1 190M 12M 179M 6% /boot/efi tmpfs 1.6G 0 1.6G 0% /run/user/0 overlay 1.5T 611G 864G 42% /var/lib/docker/overlay2/dfd5690478c7ba2412aba77f0e3bb34f97d16d0d6bbbea4fe5077eb713b3da55/merged overlay 1.5T 611G 864G 42% /var/lib/docker/overlay2/7d702e53c1f8d85babe9b7fd2caada8be1261922162fe305c72a10bcff5993d2/merged shm 64M 0 64M 0% /var/lib/docker/containers/b52efbdf8024607db210b3d71622b068e4dffc6a10e4917c531dbb0afc03d0a3/mounts/shm shm 256M 0 256M 0% /var/lib/docker/containers/f444d78ff9b2b49f271028b3394c12fbcd04dcee4d6c53026fb0a41a82d33009/mounts/shm overlay 1.5T 611G 864G 42% /var/lib/docker/overlay2/1d89897d12ac3481157b421df1fa5d091178a31417fdeb26090bea461b1186c1/merged overlay 1.5T 611G 864G 42% /var/lib/docker/overlay2/250571fd08e889490d878eccd1452f2089b10e95e0767383cbcee424fc95a743/merged shm 500M 8.0K 500M 1% /var/lib/docker/containers/01ee3ddbd4c6700c91c78d1eefe7787b899dc3dcec9baa5e10dbda8656a83f05/mounts/shm shm 500M 8.0K 500M 1% /var/lib/docker/containers/0c27373b715a59712547b0ee9ce2115ce56cb73b6fab02361369a962752e96c8/mounts/shm /dev/sdb1 2.7T 815G 1.8T 32% /home/tmp
Mở file /etc/fstab và thêm dòng sau vào cuối file:
/dev/sdb1 /home/tmp/ ext4 defaults 0 0
Hoặc thực thi lệnh sau:
echo "/dev/sdb1 /home/tmp/ ext4 defaults 0 0" >> "/etc/fstab"
Mount ổ cứng bằng UUID
Tại sao phải mount ổ cứng bằng UUID?Nếu bạn chỉ gắn thêm vào hệ thống một ổ cứng thì chỉ cần mount theo device file như trên là ok, nhưng nếu bạn gắn 2 ổ cứng trở lên, khi khởi động lại máy sẽ gặp trường hợp ổ cứng này được mount vào thư mục kia. Nguyên nhân ở việc hệ thống nhận ngẫu nhiên device file của ổ cứng khi khởi động lại máy.
Ví dụ:
HDD1 có device file là /dev/sdb1
HDD2 có device file là /dev/sdc1
Nhưng sau khi khởi động lại thì HDD2 lại là /dev/sdb1, và ngược lại.
Để khắc phục điều này, mỗi ổ cứng đều có một UUID duy nhất, do đó nếu mount ổ cứng theo UUID sẽ khắc phục được vấn đề trên.
Kiểm tra UUID của ổ cứngĐể kiểm tra UUID của ổ cứng các bạn thực thi lệnh sau:
lsblk -o NAME,UUID,SIZE
Kết quả:
[root@localhost ~]# lsblk -o NAME,UUID,SIZE NAME UUID SIZE sda 1.5T ├─sda1 BFB9-329D 190M ├─sda2 4cb3b1b4-xxxx-xxxx-a512-9b847e02398c 286M └─sda3 rvUPeD-xxxx-xxxx-lQPC-H2CG-knMA-nqcaoM 1.5T ├─centos-root 0858fae6-xxxx-xxxx-b4e0-06b1d9d40f86 1.5T └─centos-swap defc7d4f-xxxx-xxxx-8465-60742549ccc5 14.9G sdb 2.7T └─sdb1 fb315fe6-xxxx-xxxx-8d30-80f44a874420 2.7T sr0 1024MMount ổ cứng sử dụng UUID
Để mount ổ cứng theo UUID bạn chỉnh sửa file /etc/fstab:
Mở file /etc/fstab và thêm dòng sau vào cuối file:
UUID=fb315fe6-xxxx-xxxx-8d30-80f44a874420 /home/tmp/ ext4 defaults 0 0
Hoặc thực thi câu lệnh sau:
echo "UUID=fb315fe6-xxxx-xxxx-8d30-80f44a874420 /home/tmp/ ext4 defaults 0 0" >> "/etc/fstab"
Kiểm tra file /etc/fstab
# # /etc/fstab # Created by anaconda on Wed Jan 16 15:15:23 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/centos-root / xfs defaults 0 0 UUID=4cb3b1b4-xxxx-xxxx-a512-9b847e02398c /boot xfs defaults 0 0 UUID=BFB9-329D /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 UUID=fb315fe6-xxxx-xxxx-8d30-80f44a874420 /home/tmp/ ext4 defaults 0 0
Unmount ổ cứng
Để unmount ổ cứng các bạn sử dụng lệnh umount [không phải unmount].
Câu lệnh như sau:
umount /dev/sdb1
Hoặc
umount /home/tmp
Các bạn nhớ xóa luôn trong /etc/fstab để không tự động mount lại khi khởi động lại máy nhé.
Trên đây là hướng dẫn mount/unmount ổ cứng trên Linux. Đối với các thiết bị khác cách làm cũng tương tự như ổ cứng. Chúc các bạn thành công