Linux服务器挂载硬盘

我们买独立服务器的时候,有些硬盘是需要我们自己挂载的,如果服务器只有一块硬盘需要挂载,那么这里会写单个硬盘挂载教程。

但如果服务器有多块硬盘需要挂载,鉴于难度有点高,建议直接给商家发工单,要他们使用raid 0合并所有硬盘后,再给你挂载到根目录。

不过我建议不管是一块,还是多块,最好都去发工单要服务商帮忙挂载,以免自己误操作导致服务器开不了机。

挂载步骤

如何确定是否有硬盘未挂载

使用SSH客户端登录服务器,运行命令:

df -h

#输出信息大致如下,Size为容
[root@s196176 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             7.4G     0  7.4G   0% /dev
tmpfs                7.4G  8.7M  7.4G   1% /run
/dev/mapper/vg-root  431G  1.3G  408G   1% /
/dev/sda2           1008M  119M  839M  13% /boot
/dev/mapper/vg-tmp   976M  2.6M  907M   1% /tmp

如果我买的时候,服务器硬盘标的信息大幅度少于上面显示的硬盘信息,那么就是有硬盘没挂载。

查看需要挂载的硬盘

使用SSH客户端登录服务器,运行命令:

lsblk

#输出信息如下
[root@s196176 ~]# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 447.1G  0 disk 
├─sda1        8:1    0     1M  0 part 
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0 446.1G  0 part 
  ├─vg-root 253:0    0 437.6G  0 lvm  /
  ├─vg-swap 253:1    0   7.5G  0 lvm  [SWAP]
  └─vg-tmp  253:2    0     1G  0 lvm  /tmp
sdb           8:16   0   3.7T  0 disk

比如我知道我有一个4T硬盘没挂载(由于计算问题,显示肯定没这么多,比如我示例只显示3.7T),那么我找到对应容量的硬盘NAME,如示例的sdb,那么我们硬盘名称就是/dev/sdb,也就是加一个/dev/

给需要挂载的硬盘分区

使用SSH客户端登录服务器,运行命令:

#开始挂载,后面为未挂载硬盘名称
parted /dev/sdb
#创建创建磁盘标签,可能会有个提示,你输入Yes确定即可
mklabel gpt
#创建整个分区
mkpart primary 0% 100%
#退出
q

#大致操作日志如下,仅供参考
[root@s196176 ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt                                                      
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost.
Do you want to continue?
Yes/No? Yes                                                               
(parted) mkpart primary 0% 100%                                           
(parted) q                                                                
Information: You may need to update /etc/fstab.

分区完成后,继续使用命令查看分区名称:

lsblk

#输出信息如下
[root@s196176 ~]# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 447.1G  0 disk 
├─sda1        8:1    0     1M  0 part 
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0 446.1G  0 part 
  ├─vg-root 253:0    0 437.6G  0 lvm  /
  ├─vg-swap 253:1    0   7.5G  0 lvm  [SWAP]
  └─vg-tmp  253:2    0     1G  0 lvm  /tmp
sdb           8:16   0   3.7T  0 disk
└─sdb1        8:17   0   3.7T  0 part

这次比之前多了个sdb1,那么我们分区名称叫/dev/sdb1

挂载分区

先格式化分区,使用命令:

#后面为分区名称,运行完等待格式化完毕
mkfs.ext4 /dev/sdb1

新建挂载目录,使用命令:

#后面为目录名称,自行修改
mkdir /data

开始挂载分区,使用命令:

#后面2个分辨是,分区名称,挂载目录,请根据上面操作的实际情况修改
mount /dev/sdb1 /data

检查挂载是否成功,运行命令:

df -h

#输出信息大致如下,Size为容量
[root@s196176 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             7.4G     0  7.4G   0% /dev
tmpfs                7.4G  8.7M  7.4G   1% /run
/dev/mapper/vg-root  431G  1.3G  408G   1% /
/dev/sda2           1008M  119M  839M  13% /boot
/dev/mapper/vg-tmp   976M  2.6M  907M   1% /tmp
/dev/sdb1            3.6T   89M  3.4T   1% /data

如果我们看到了挂载目录,即对应的容量没问题,那么就挂载成功了。

设置开机自启

我们挂载后,需要设置开机自启,这样重启服务器后,会自动挂载。

查看分区的UUID,使用命令:

#后面为分区名称
blkid /dev/sdb1

#输出信息如下,即分区UUID为b82b0f79-2198-4c8c-a183-acd62sg5d832
/dev/sdb1: UUID="b82b0f79-2198-4c8c-a183-acd62sg5d832" TYPE="ext4" PARTLABEL="primary" PARTUUID="29a545e6-2a67-463d-bb3e-3127fghtccaf"

设置开机自启,使用命令:

#b82b0f79-2198-4c8c-a183-acd62sg5d832 /data分别为分区UUID,挂载目录,先修改好下面相关信息,再一起复制到ssh客户端运行
echo 'UUID=b82b0f79-2198-4c8c-a183-acd62sg5d832 /data ext4 defaults 0 0' >>/etc/fstab

这个步骤一点要操作正确,不然到时候重启后,可能会开机不了。

最后再检查下配置文件,使用命令:

mount -a

如果不报错,就可以使用reboot命令重启服务器,重启后,再使用df -h查看是否自动挂载成功。

组raid 0教程

提示:仅做笔记,即合并多个空闲硬盘并挂载,没经验的勿操作

以下命令行均使用ssh操作:

#查看硬盘及分区
lsblk
#创建RAID 0阵列,后面为硬盘数量和名称
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sd{a,b}
#格式化分区
mkfs.ext4 /dev/md0
#新建挂载目录
mkdir /data
#挂载分区
mount /dev/md0 /data
#查看分区uuid
blkid /dev/md0
#设置开机自启
echo 'UUID=b82b0f79-2198-4c8c-a183-acd62sg5d832 /data ext4 defaults 0 0' >>/etc/fstab