VPS磁盘链接、挂载
选配额外的数据盘并挂载给VPS后,需要在VPS内操作系统进行挂载使用。
Windows
右键点击左下角菜单键,点击磁盘管理,将会打开如图窗口
然后右键点击未分配的磁盘,如图是磁盘1,然后点击联机
然后磁盘状态变为没有初始化,右键,点击初始化磁盘
选择MBR(主启动记录)(M),点击确定,然后磁盘状态变为联机
右键点击右侧的未分配空白区域,点击新建简单卷
然后一路疯狂回车到底即可,所有配置全部默认
当磁盘显示为状态良好(主分区)时,磁盘链接完成
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:~#
以上图为例,可以看见一个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作为标识符是最适合让系统自动挂载所使用。