Linux下磁盘挂载与卸载

376 阅读3分钟

在日常运维过程中,我们难免会涉及到给系统添加新磁盘或是更换磁盘等操作,这里就涉及到磁盘挂在与卸载的操作问题,本文主要介绍如何在Linux系统下面挂载磁盘和卸载磁盘

问题和环境说明

解决:Disk /dev/sdb doesn't contain a valid partition table

虚拟机环境,linux系统下新添加了一块硬盘

磁盘挂在操作

  1. 虚拟机--设置--添加,选择硬盘添加
  2. 首先为磁盘创建文件系统:
mkfs.ext4 /dev/sdb
## mkfs.ext4 /dev/sdb -- 或 sudo mkfs -t ext4 /dev/sdb
  1. 创建挂载点: 创建挂载点,文件夹用来挂载磁盘
mkdir /mnt/sdb
  1. 挂载:
mount /dev/sdb /mnt/sdb
  1. 查看磁盘情况
fdisk -l

    发现有问题:

    Disk /dev/sdb doesn't contain a valid partition table 表示数据盘未分区

  1. 磁盘分区
fdisk /dev/sdb

跟着向导一步步做下去(如果不知道该输入什么,就输入“m”并回车,可以打印出菜单):

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
(后面的菜单省略,太长了)

这里我们要添加一个新的分区,所以输入“n”:
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (1-14098, default 1): (此处直接回车)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-14098, default 14098): (此处直接回车)
Using default value 14098

Command (m for help): p
Disk /dev/sdb: 115.9 GB, 115964116992 bytes
255 heads, 63 sectors/track, 14098 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       14098   113242153+  83  Linux
现在可以写入分区表了,所以输入“w”:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

同步分区表

partprobe cat /proc/partitions 
##查看系统识别的分区信息 
mkfs.xfs /dev/vdb1 
##格式化(安装文件系统) 
mount /dev/sdb1 /mnt 
##临时挂载

现在再fdisk -l,结果正常。

通过以下命令查看磁盘是否挂载成功

df -h

如果没发现,就自己重新通过如下命令挂载一次

mount /dev/sdb /mnt/sdb
## mount [被挂载的盘符] [目标目录,可以是自己创建的目录,也可以是既有的未加挂载点的目录]

配置启动自动挂载

(硬盘在系统启动自动挂载。在文件 /etc/fstab 中加入如下配置:)

/dev/sdb /mnt/sdb ext4 defaults 0 0 
## Ubuntu18.04 多了一个字段,可以直接照抄默认的即可 
/dev/sdb /mnt/sdb ext4 defaults,discard 0 0 
## CenterOs 设置如下 /dev/vdb1 /mnt xfs defaults 0 0

使fstab文件配置生效

mount -a

永久挂载

echo "/dev/sdb1 /data ext4 rw 0 0 " >> /etc/fstab

卸载磁盘

直接运行如下命令:

umount /mnt/sdb
## umount [是挂载磁盘的目录]