Mount thư mục linux

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                                                    1024M
Mount ổ 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

Bài Viết Liên Quan

Chủ Đề