Ubuntu系统挂载磁盘并配置开机自动挂载

今天买了个服务器然后挂载了一个500G的磁盘,但是登录进去后发看不到,就是下面这样的

只能看到100G的系统盘

bash 复制代码
root@ecm-74de:/usr/local# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           3.1G  1.1M  3.1G   1% /run
/dev/vda2       100G  8.0G   93G   8% /
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.1G   12K  3.1G   1% /run/user/0

用 lsblk 命令查一下看是否存在500G的磁盘

bash 复制代码
root@ecm-74de:/usr/local# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0     11:0    1  378K  0 rom  
vda    253:0    0  100G  0 disk 
├─vda1 253:1    0    1M  0 part 
└─vda2 253:2    0  100G  0 part /
vdb    253:16   0  500G  0 disk 

可以看到是有一个500G的磁盘,df 看不到的原因是还没有分区挂载,所以我们按照下面的命令操作一下 (注意只需要输入 ← 前面的就行啊,Enter 是指的 Enter 键)

bash 复制代码
sudo fdisk /dev/vdb
n   ← 新建分区
p   ← 主分区
1   ← 分区号,默认直接回车也行
[Enter] ← 起始扇区,直接回车
[Enter] ← 结束扇区,直接回车(使用整个硬盘)
w   ← 写入分区表并退出

上面分区创建好了,接下来我们格式化一下这个分区(和 win 系统一样不格式化硬盘是没办法用的)

sudo mkfs.ext4 /dev/vdb1 是对 /dev/vdb1 分区执行:

1.清空内容(无论之前有啥都抹掉)

2.安装 ext4 文件系统结构

3.准备好让 Linux 能挂载它、用它

bash 复制代码
sudo mkfs.ext4 /dev/vdb1

接着我们把这个磁盘挂载上,我查了一下发现我的根目录下面没有 /data 目录,所以创建一个 /data目录挂上

bash 复制代码
sudo mkdir -p /data
sudo mount /dev/vdb1 /data

然后我们再 df -h 看一下目录,可以看到这个500G的磁盘了

bash 复制代码
root@ecm-74de:/usr/local# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           3.1G  1.1M  3.1G   1% /run
/dev/vda2       100G  8.0G   93G   8% /
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.1G   12K  3.1G   1% /run/user/0
/dev/vdb1       492G   28K  467G   1% /data

注意,到这里还没有结束,虽然我们刚才挂载了磁盘,但是这个时候只要你重启服务器,挂载就没了,所以我们还需要设置开机自动挂载

sudo blkid /dev/vdb1 先去查 UUID

bash 复制代码
root@ecm-74de:/usr/local# sudo blkid /dev/vdb1
/dev/vdb1: UUID="388fd84ed-1fd0-4851-9e7f2-985egf54deaad" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="e68cdbc1-01"

然后编辑 fstab:

bash 复制代码
sudo vi /etc/fstab

在里面加上一行

bash 复制代码
UUID=388fd84ed-1fd0-4851-9e7f2-985egf54deaad /data ext4 defaults 0 2 /data ext4 defaults 0 2
bash 复制代码
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/vda2 during curtin installation
/dev/disk/by-uuid/3a5234311d-f14a-457f-bd484-5044832447ebc / xfs defaults 0 1
/swap.img       none    swap    sw      0       0
UUID=388fd84ed-1fd0-4851-9e7f2-985egf54deaad /data ext4 defaults 0 2

保存确认是否正常

bash 复制代码
sudo mount -a

如果没有报错就说明是正常的

最后,我们挂载磁盘的目的是为了防止系统盘不被撑爆,所以后面安装服务的时候就需要合理分配目录了,比如要装 MySQL,主服务我们还是可以放在系统盘,但是数据目录我们就可以放到挂载的 /data 目录下了

相关推荐
云原生指北25 分钟前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
小马同学-37 分钟前
高可用-Keepalived全解析
linux·运维
ziyun6668881 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
Forever Nore1 小时前
LeetCode 13 罗马数字转整数 - 按规则处理
linux·服务器·leetcode
我不会插花弄玉1 小时前
2.Linux基础指令下【由浅入深-Linux】
linux·服务器
梦想的旅途21 小时前
企微 API 二次开发:利用 AI Agent 实现自动化运维
运维·人工智能·企业微信
安科瑞-小李2 小时前
铁路智能运维进化路线:自动化→状态可视→预测维护
运维·自动化·数据采集·能耗可视化
雯宝2 小时前
3. 驱动框架(块设备)
linux
酷可达拉斯2 小时前
自动化运维-Ansible任务控制与流程控制
运维·自动化·ansible
HiDev_2 小时前
【非标自动化】2、认识元器件(电机保护器)
运维·自动化