May 1, 2024

Linux服务器挂载硬盘

使用外接硬盘拷贝或者保存数据很常见,在windows系统下硬盘可以即插即用,但是在Linux系统,需要将硬盘挂载后才能使用。挂载方法也会因为硬盘文件系统的不同而不同。

mount用于Linux服务器上的硬盘挂载,挂载时给定硬盘盘符及目录挂载路径即可,以下是详细介绍。

1. 获取硬盘盘符信息

可以使用lsblk命令查看


$ lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  9.8T  0 disk 
├─sda1            8:1    0  200M  0 part /boot/efi
├─sda2            8:2    0    1G  0 part /boot
└─sda3            8:3    0  9.8T  0 part 
  ├─centos-root 253:0    0    1T  0 lvm  /
  ├─centos-swap 253:1    0    4G  0 lvm  [SWAP]
  └─centos-home 253:2    0  8.8T  0 lvm  /home
sdc               8:64   0  4.6T  0 disk
├─sdc1            8:65   0   16M  0 part
└─sdc2            8:66   0  4.6T  0 part

sda为系统分区,sdc为外接硬盘,存在两个分区,一个是sdc1系统分区(存储空间小,基本可以确定不是用来存数据的),一个是sdc2数据分析,这个就是需要挂载数据分区。

2. NTFS类型硬盘挂载

直接使用mount进行挂载,命令如下


$ mount -t ntfs-3g /dev/sdc2 /mnt/outdisk

-t ntfs-3g用来指定文件系统为NTFS。(NTFS类型的硬盘,不加-t ntfs-3g也可以进行挂载)。如果硬盘文件系统不是NTFS,会出现如下报错。


# 不通过-t参数指定文件系统类型
$ mount /dev/sdd2 /mnt/outdisk/
mount: /dev/sdd2 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/sdd2,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

# 指定按文件系统ntfs格式进行挂载
$ mount -t ntfs-3g /dev/sdd2 /mnt/outdisk/
NTFS signature is missing.
Failed to mount '/dev/sdd2': Invalid argument
The device '/dev/sdd2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

到这里基本确定硬盘文件系统不是ntfs格式的,不能使用默认参数或者-t ntfs-3g方式进行挂载。

3. exfat文件系统

exFAT文件系统属于FAT系列文件系统之一,在这个系统中的FAT32版本大家应该很熟悉吧,早期的U盘和硬盘采用这种文件系统,这个文件系统有一个很明显的缺点,那就是不支持超过4G大小的文件传输。exFAT在FAT32基础上做了优化和升级,支持大文件传输。在Linux系统上挂载这类硬盘,需要执行exFAT文件系统。


$ mount -t exfat  /dev/sdd2 /mnt/outdisk/
FUSE exfat 1.2.7

4. 其他

4.1 用户权限

挂载硬盘及依赖软件的安装需要有root权限

4.2 工具安装

Linux系统中貌似没有预装exFAT格式硬盘挂载的工具,需要自行安装。


# Centos
$ yum install fuse-exfat exfat-utils

# Ubuntu
$ apt install exfat-fuse exfat-utils

4.3 硬盘卸载

和windows系统一样,硬盘使用完毕后需要退出硬盘目录并解除挂载,否则下次挂载时会存在报错信息,以下是硬盘卸载命令。


# 硬盘解除挂载
$ umount /mnt/outdisk/

5. 参考文章


[1] https://learn.microsoft.com/zh-cn/windows-server/storage/file-server/ntfs-overview
[2] https://learn.microsoft.com/zh-cn/windows/win32/fileio/exfat-specification
[3] https://www.gaitpu.com/data-center/storage/how-long-does-a-solid-state-drive-generally-last
[4] https://www.vxworks.net/linux/1197-new-features-of-rhel9

0 comments:

Post a Comment

VxWorks