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 目录下了

相关推荐
KoiHeng2 小时前
操作系统简要知识
linux·笔记
Johny_Zhao5 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8506 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
一心0927 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上7 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊7 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°8 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
代码老y8 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程8 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9988 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github