【指南】VPS链接、挂载磁盘

VPS磁盘链接、挂载

选配额外的数据盘并挂载给VPS后,需要在VPS内操作系统进行挂载使用。

Windows

右键点击左下角菜单键,点击磁盘管理,将会打开如图窗口

disk1.png

然后右键点击未分配磁盘,如图是磁盘1,然后点击联机

disk2.png

然后磁盘状态变为没有初始化,右键,点击初始化磁盘

disk3.png

选择MBR(主启动记录)(M),点击确定,然后磁盘状态变为联机

右键点击右侧的未分配空白区域,点击新建简单卷

disk5.png

然后一路疯狂回车到底即可,所有配置全部默认

disk6.png

当磁盘显示为状态良好(主分区)时,磁盘链接完成

disk7.png

Linux

登入SSH,查看磁盘设备是否被系统识别,可以使用命令 lsblk

root@DaBai-10158:~# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   40G  0 disk
├─sda1    8:1    0 39.9G  0 part /
├─sda14   8:14   0    3M  0 part
└─sda15   8:15   0  124M  0 part /boot/efi
sdb       8:16   0   20G  0 disk
sr0      11:0    1    4M  0 rom
root@DaBai-10158:~#

1.png

以上图为例,可以看见一个20GB大小的磁盘sdb

使用fdisk创建分区

root@DaBai-10158:~# fdisk /dev/sdb

使用命令 fdisk [磁盘路径] 所有磁盘设备路径都位于系统根目录下的 dev 目录,刚才看到磁盘设备名称为sdb,所以磁盘路径为 /dev/sdb

Welcome to fdisk (util-linux 2.36.1).
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.
Created a new DOS disklabel with disk identifier 0x6d9ef1a1.

Command (m for help): 

输入 n 并回车,以创建新分区,并在接下来的几个输入都直接按回车以使用默认设定

Command (m for help): n

Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039):

Created a new partition 1 of type 'Linux' and of size 20 GiB.

Command (m for help): 

当看到 Created a new partition 这一行出现,则说明创建完成,接下来输入 w 保存设置并写入磁盘

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

root@DaBai-10158:~#

再次 lsblk 查看磁盘设备,发现sdb下多了个sdb1,sdb1就是刚刚创建的磁盘分区

root@DaBai-10158:~# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   40G  0 disk
├─sda1    8:1    0 39.9G  0 part /
├─sda14   8:14   0    3M  0 part
└─sda15   8:15   0  124M  0 part /boot/efi
sdb       8:16   0   20G  0 disk
└─sdb1    8:17   0   20G  0 part
sr0      11:0    1    4M  0 rom
root@DaBai-10158:~#

格式化分区

命令: mkfs -t ext4 /dev/sdb1

root@DaBai-10158:~# mkfs -t ext4 /dev/sdb1
mke2fs 1.46.2 (28-Feb-2021)
Discarding device blocks: done
Creating filesystem with 5242624 4k blocks and 1310720 inodes
Filesystem UUID: 60e27189-6b70-41fe-bf92-d92159fc7bd6
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

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

root@DaBai-10158:~#

挂载分区使用

创建挂载目录 /mnt/sdb1 目录的位置和名称随意,可以根据个人喜好和习惯设定。为了便于日后维护,大白推荐将所有分区挂载点目录都创建在 /mnt 下,并以实际挂载的设备名称命名目录。

给分区sdb1创建挂载点目录:

mkdir /mnt/sdb1

挂载分区:

mount -t ext4 /dev/sdb1 /mnt/sdb1

查看分区挂载情况:

df -h

命令结果:

root@DaBai-10158:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           796M  496K  796M   1% /run
/dev/sda1        40G  1.4G   37G   4% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda15      124M   11M  114M   9% /boot/efi
tmpfs           765M     0  765M   0% /run/user/0
/dev/sdb1        20G   24K   19G   1% /mnt/sdb1

可以看到最后一行/dev/sdb1已经挂载到了/mnt/sdb1,可用容量为20G。

挂载后,往 /mnt/sdb1 路径下写入数据或是创建文件夹,数据都将保存至磁盘 sdb 的分区 sdb1 中。

在安装一些软件的时候,如果软件有提示要你输入软件安装目录,就可以输入 /mnt/sdb1 来让软件安装到新磁盘中。

使挂载永久生效

目前的挂载是手动mount的,操作系统重启后挂载就会丢失,现在配置开机自动挂载

查找磁盘分区 sdb1 的UUID,命令 blkid

root@DaBai-10158:~# blkid
/dev/sr0: BLOCK_SIZE="2048" UUID="2024-02-25-18-27-03-00" LABEL="cidata" TYPE="iso9660"
/dev/sda1: UUID="8743e4d8-b837-4361-a77a-870405891de4" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="072c5b49-a5c1-7141-8ccf-6a28df0d33bb"
/dev/sda15: SEC_TYPE="msdos" UUID="90F1-F4E8" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="8eecd596-aaff-3140-8583-8afe92f3e83e"
/dev/sdb1: UUID="60e27189-6b70-41fe-bf92-d92159fc7bd6" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6d9ef1a1-01"
/dev/sda14: PARTUUID="7706c623-7640-164c-876b-22edc73ab252"
root@DaBai-10158:~#

可见 /dev/sdb1 的UUID为 60e27189-6b70-41fe-bf92-d92159fc7bd6 复制保存备用

编辑fstab文件:

vi /etc/fstab

UUID=8743e4d8-b837-4361-a77a-870405891de4 / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
UUID=90F1-F4E8 /boot/efi vfat defaults 0 0

按键盘上的 Insert键 在最后新增一行 格式为 UUID=[分区UUID] [挂载点目录] [文件系统格式] defaults 0 0 UUID写刚才保存的 sdb1 的UUID


UUID=8743e4d8-b837-4361-a77a-870405891de4 / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
UUID=90F1-F4E8 /boot/efi vfat defaults 0 0
UUID=60e27189-6b70-41fe-bf92-d92159fc7bd6 /mnt/sdb1 ext4 defaults 0 0

保存修改,按一下 ESC 然后输入 :wq

:wq

再查看一下是否修改完成

root@DaBai-10158:~# cat /etc/fstab
# /etc/fstab: static file system information
UUID=8743e4d8-b837-4361-a77a-870405891de4 / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
UUID=90F1-F4E8 /boot/efi vfat defaults 0 0
UUID=60e27189-6b70-41fe-bf92-d92159fc7bd6 /mnt/sdb1 ext4 defaults 0 0
root@DaBai-10158:~#

重启VPS


reboot

VPS完成开机后,再进入查看自动挂载是否成功

root@DaBai-10158:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           796M  480K  796M   1% /run
/dev/sda1        40G  1.3G   37G   4% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sdb1        20G   24K   19G   1% /mnt/sdb1
/dev/sda15      124M   11M  114M   9% /boot/efi
tmpfs           796M     0  796M   0% /run/user/0
root@DaBai-10158:~#

可以看到 /dev/sdb1 已经自动挂载

Tips:

在挂载分区时,通常直接使用分区设备路径 /dev/sdb1 作为磁盘分区标识符,而不是使用UUID作为磁盘分区识别符

在刚创建好分区,格式化后,进行手动挂载就是使用磁盘分区设备路径作为标识符,但是写入fstab自动挂载又是使用UUID

/dev/sdb1简单直观,但是Linux系统对磁盘设备命名一直是个谜,今天sdb是sdb,明天重启一下搞不好就变成sdc了(

而UUID是万古不变的,因此使用UUID作为标识符是最适合让系统自动挂载所使用。