在购买云服务的时候,一般都会自带一块40G的系统盘,然后自己在选购数据盘,如果是windows系统,购买的数据盘会作为一个分区存在,比如D盘、E盘等,可以直接使用,但是在Linux必须进行挂载才能正常使用。

目录

一、挂载概念

二、查看磁盘情况

三、查看当前磁盘的分区情况

四、新增磁盘挂载

五、格式化磁盘

六、挂载磁盘

七、自动挂载

八、卸载磁盘

九、挂载windows格式磁盘


使用环境:centos 7.9

一、挂载概念

挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。

在windows操作系统中,挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符。
在linux操作系统中,它指将一个设备(通常是存储设备)挂接到一个已存在的目录上。(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。)

下面演示一下linux下如何挂载磁盘

二、查看磁盘情况

通过df命令可以查看当前已挂载的磁盘信息

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           3.8G  500K  3.8G   1% /run
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/vda1        40G  2.4G   36G   7% /
tmpfs           768M     0  768M   0% /run/user/0

通过上面的信息可以看出,目前只挂载的系统盘。 

三、查看当前磁盘的分区情况

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# fdisk -l

Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bf3aa
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83886046    41941999+  83  Linux

Disk /dev/vdb: 268.4 GB, 268435456000 bytes, 524288000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/vdc: 268.4 GB, 268435456000 bytes, 524288000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

通过以上信息可以看出系统中一共有三个磁盘/dev/vda、/dev/vdb、/dev/vdc分别为42G,268G、268G,跟当初购买的磁盘大小有差距。

四、新增磁盘挂载

通过上一步我们知道了每个磁盘的名称,现在对硬盘进行分区(如果是挂载一整块磁盘,可省略本步骤),分区的步骤如下:

  1.         fdisk /dev/vdb(/dev/vdb为上一步中查询到的磁盘名称)
  2.         输入参数 m  (显示帮助可不输入)
  3.         输入参数n  (新建分区)
  4.         输入参数e  (extended扩展分区,p  primary 主分区)
  5.         输入参数1   (1-4  1表示只分一个区)
  6.         enter键跳过
  7.         enter键跳过(表示全部,也可输入起柱面cylinder号来完成分区,该号不能大于磁盘末尾号)
  8.         输入参数w   (保存)
[root@iZ2ze5x5mt3210wm46kjgwZ ~]# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.23.2).



Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.



Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0xbacfd979.



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

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)



Command (m for help): n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): e

Partition number (1-4, default 1): 1

First sector (2048-524287999, default 2048): 

Using default value 2048


Last sector, +sectors or +size{K,M,G} (2048-524287999, default 524287999): 

Using default value 524287999

Partition 1 of type Extended and of size 250 GiB is set



Command (m for help): w

The partition table has been altered!



Calling ioctl() to re-read partition table.

Syncing disks.

使用命令lsblk查看一下分区情况:

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

vda    253:0    0   40G  0 disk 

└─vda1 253:1    0   40G  0 part /

vdb    253:16   0  250G  0 disk 

└─vdb1 253:17   0    1K  0 part 

vdc    253:32   0  250G  0 disk 

可以看出vdb已经成功分区,vdc还没有分区。

五、格式化磁盘

使用mkfs.ext4 /dev/vdb格式化磁盘:

[root@iZ2ze5x5mt3210wm46kjgwZ mnt]# mkfs.ext4 /dev/vdb

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

16384000 inodes, 65536000 blocks

3276800 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=2214592512

2000 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, 20480000, 23887872



Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done     

使用命令lsblk查看一下分区情况:跟之前的有变化(暂未深究原因) 

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

vda    253:0    0   40G  0 disk 

└─vda1 253:1    0   40G  0 part /

vdb    253:16   0  250G  0 disk 

vdc    253:32   0  250G  0 disk 

六、挂载磁盘

挂载前需要创建挂载点,就是一个文件夹,然后使用命令mount把磁盘挂载到这个文件夹中

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# cd /mnt

[root@iZ2ze5x5mt3210wm46kjgwZ mnt]# ll

total 0

[root@iZ2ze5x5mt3210wm46kjgwZ mnt]# mkdir software

[root@iZ2ze5x5mt3210wm46kjgwZ mnt]# mount /dev/vdb /mnt/software

查看是否成功

[root@iZ2ze5x5mt3210wm46kjgwZ mnt]# df -h

Filesystem      Size  Used Avail Use% Mounted on

devtmpfs        3.8G     0  3.8G   0% /dev

tmpfs           3.8G     0  3.8G   0% /dev/shm

tmpfs           3.8G  476K  3.8G   1% /run

tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup

/dev/vda1        40G  2.0G   36G   6% /

tmpfs           768M     0  768M   0% /run/user/0

/dev/vdb        246G   61M  234G   1% /mnt/software

从结果可以看出已经挂载成功,磁盘为/dev/vdb。这一步之后只是临时挂载,重启后,挂载点会消失,下面把挂载信息设为开机自动挂在。

七、自动挂载

自动挂载有两种方式一种使用磁盘挂在一种是使用UUID挂载

1、使用磁盘挂在

执行一下命令:

echo "/dev/vdb               /mnt/software                  ext4    defaults        0 0" >> /etc/fstab

 然后然后使用shutdown -r now重启,重启之后查看挂载情况


[root@iZ2ze5x5mt3210wm46kjgwZ ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

devtmpfs        3.8G     0  3.8G   0% /dev

tmpfs           3.8G     0  3.8G   0% /dev/shm

tmpfs           3.8G  496K  3.8G   1% /run

tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup

/dev/vda1        40G  2.4G   36G   7% /

/dev/vdb        246G   61M  234G   1% /mnt/sfotware

tmpfs           768M     0  768M   0% /run/user/0

2、使用UUID挂载

使用vim删除/etc/ fstab中的挂载信息。查看UUID有三种方式:

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# blkid

/dev/vda1: UUID="10c0e7e5-557a-40c1-893c-1e2dcbac1526" TYPE="ext4" 

/dev/vdb: UUID="6e26ed03-df7d-47e7-9324-8408341aeacb" TYPE="ext4" 
[root@iZ2ze5x5mt3210wm46kjgwZ ~]# lsblk -f

NAME   FSTYPE LABEL UUID                                 MOUNTPOINT

vda                                                      

└─vda1 ext4         10c0e7e5-557a-40c1-893c-1e2dcbac1526 /

vdb    ext4         6e26ed03-df7d-47e7-9324-8408341aeacb /mnt/software

vdc                                                      

[root@iZ2ze5x5mt3210wm46kjgwZ ~]# ll /dev/disk/by-uuid/

total 0

lrwxrwxrwx 1 root root 10 Aug 13 17:06 10c0e7e5-557a-40c1-893c-1e2dcbac1526 -> ../../vda1

lrwxrwxrwx 1 root root  9 Aug 13 17:10 6e26ed03-df7d-47e7-9324-8408341aeacb -> ../../vdb

设置自动挂载:

echo "UUID=6e26ed03-df7d-47e7-9324-8408341aeacb /mnt/software                 ext4    defaults        0 0" >> /etc/fstab

查看挂载文件:

 自动挂载/etc/fstab里面的东西

mount –a

 重启服务器,使用名df再次确认挂载成功

八、卸载磁盘

# 临时卸载,重启机器之后又恢复到挂载状态
umount /dev/vdb
#永久卸载
vim /etc/fstab
#把添加的磁盘信息删除即可。重启机器查看是否已经卸载

九、挂载windows格式磁盘

直接操作windows格式的磁盘在第四大步,第5小步时,Partition number提示时2-4:Partition number (1-4, default 2),要解决这个问题需要先格式化磁盘:

[root@xxx ~]# mkfs -t xfs -f /dev/vdb
meta-data=/dev/vdb               isize=512    agcount=4, agsize=16384000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=65536000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=32000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

-f表示强制重写

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐