当买了新的服务器时,如果厂商在安装系统的时候没有将新硬盘进行挂载,就需要自己使用命令进行挂载。今天刚买了一台服务器,登录上去发现磁盘竟然没有挂载。这里记录一下。

查看未挂载的磁盘


[root@www ~]# lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─centos-root 253:0 0 17.5G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 50G 0 disk sr0 11:0 1 1024M 0 rom

上述命令lsblk 可以查看到哪些硬盘没有挂载,通过结果我们可以看到 type 为disk的是没有挂载的磁盘,这里有三个,分别是 fd0,sda,sdb

磁盘挂载

查看到没有被挂载的磁盘,这里我需要挂载两个磁盘,分别是sdb和sda

在根目录创建两个空文件夹,分别是对应上述磁盘 data/data1

创建完成之后,进行挂载。

mount /dev/sdb /data

将/dev/sdb 挂载到/data目录下,在执行命令后会发下如下错误。

mount: /dev/sdb is write-protected, mounting read-only
mount: unknown filesystem type '(null)'

出错后,切莫慌张,上面的错误是因为/dev/sdb/磁盘在挂载前需要格式化。

使用命令

mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Discarding device blocks: done                            
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

看到如上done的字样表示磁盘格式化完成,再次使用 mount dev/sdb /data 进行挂载

挂载完成后,通过命令lsblk -f查看挂载详情

[root@www /]# lsblk -f 
NAME            FSTYPE      LABEL UUID                                   MOUNTPOINT
fd0                                                                      
sda                                                                      
├─sda1          xfs               ef88caea-70f7-4723-a03b-78493a015f3c   /boot
└─sda2          LVM2_member       MgTIlF-1nxe-p7CY-Jln3-TI1r-dZuJ-35Rq7C 
  ├─centos-root xfs               0e4f6992-94c3-4b66-8958-21e2dad656f6   /
  └─centos-swap swap              58858e94-b939-4cea-b316-d62638e8a155   [SWAP]
sdb             ext4              403aab0b-83b2-4360-9e23-48bd11523546   /data

可以发现,dev/sdb磁盘已经成功挂载到/data目录下,使用相同的操作将 dev/sda挂载到/data1目录下

我们可以发现分区挂载成功了,但需要注意的是,这只是临时挂载,重启后挂载将失效。

设置重启挂载不失效

首先我们用vim编辑器打开配置文件进行修改,vim /etc/fstab,把刚格式化就完成的id添加进来。修改成功后重启即可或者命令行输入mount -a 该命令会把配置文件中的所有分区重新挂载一遍。

UUID=403aab0b-83b2-4360-9e23-48bd11523546 /data                   xfs     defaults        0 0

最后在使用 df-h查看目录挂载情况

[root@www /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G  1.2G   17G   7% /
devtmpfs                 907M     0  907M   0% /dev
tmpfs                    917M     0  917M   0% /dev/shm
tmpfs                    917M  8.3M  909M   1% /run
tmpfs                    917M     0  917M   0% /sys/fs/cgroup
/dev/sda1                494M  139M  355M  29% /boot
tmpfs                    184M     0  184M   0% /run/user/0
/dev/sdb                  50G   53M   47G   1% /data

可以发现/dev/sdb已经成功挂载到/data目录上

查看Linux上文件大于1G以上的命令:

find / -type f -size +1000M -print0 | xargs -0 du -h | sort -nr