您的位置:首页 > 数据库 > Oracle

oracle 裸磁盘扩容

2020-08-05 21:01 1006 查看

云服务器存储扩容详解

2020-01-20阅读 6640

环境说明

Linux操作系统:CentOS Linux release 7.6.1810 (Core)

平台环境:腾讯云CVM,CBS

本教程相关视频教程:腾讯云大学-云服务器存储扩容

1. 存储扩容概述

随着业务的发展,业务数据不停的增长,原有的磁盘空间可能会出现磁盘空间不够用的情况,因此,需要对磁盘空间进行扩容,以满足业务数据增长的需求,以下图为例,假如起初购买了100G磁盘空间,随着数据的不停增长,原有100G空间不够用了,将空间扩容至200G,CBS是腾讯云提供用于云服务器的持久性数据块级存储服务,云盘具有弹性,按需扩容特性,云盘可以任意的按需扩容。

 

存储扩容概述

不过云盘扩容时不是所有的场景下都可以任意扩容,云盘扩容具有两个限制:

  • 系统盘不支持扩容,理论上系统盘也能够支持扩容,系统盘存放操作系统数据,扩容可能会造成系统启动异常
  • 本地盘不支持扩容,本地盘使用宿主机的本地盘,本地盘弹性扩容能力没有云盘灵活,无法支持弹性按需扩容

要深入掌握云盘的扩容,需要掌握云盘的使用方式,在Linux下通常有如下三种使用方式:

  1. 裸设备创建文件系统,不需要创建任何分区,直接在裸盘上创建文件系统
  2. 磁盘上创建MBR格式的分区,适用于小于2T的多个磁盘分区的场景
  3. 磁盘上创建GPT格式的分区,适用于大于2T的多个磁盘分区的场景

2. Linux云服务器存储扩容

2.1. 裸设备磁盘使用

Linux系统中可以直接在裸设备磁盘上创建文件系统,即磁盘不需要创建任何磁盘分区,直接在磁盘上创文件文件系统并挂载使用,其具有如下特点:

  • 磁盘不需要多个分区
  • 适用于大于2T磁盘
  • 简单易使用
  • 后期支持在线扩容

 

裸设备文件创建文件系统

上图所示是在Linux系统中直接在裸设备创建文件系统的操作步骤,先在控制台购买好云盘并将其挂载到CVM中,然后登陆到Linux系统中对磁盘格式化文件系统并挂载使用,控制台购买和挂载请自行操作,如下演示在Linux系统中裸设备文件系统的使用步骤:

1、 登陆操作系统,通过fdisk -l获取磁盘的名称,系统有两块磁盘vda和vdb,/dev/vdb是我们操作的磁盘

[root@VM_0_89_centos ~]# fdisk -l

Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors   #vda为系统盘
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: 0x0009ac89

Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048   104857566    52427759+  83  Linux

Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors   #vdb为数据盘
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2、直接在磁盘上创建文件系统(注:并未在磁盘上创建任何分区),根据需要格式化为ext4或xfs格式

[root@VM_0_89_centos ~]# mkfs.ext4 /dev/vdb		#创建文件ext4文件系统
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
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 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

备注:如果要创建为xfs则使用mkfs.xfs /dev/vdb

3、创建好文件系统后即可挂载到系统中使用,使用方式有两种:临时mount和编写fstab实现持久性挂载,线上环境推荐使用编写fstab的方式,避免机器下次重启后磁盘信息未加载,挂载名称推荐使用UUID

blkid获取磁盘UUID信息
[root@VM_0_89_centos ~]# blkid /dev/vdb
/dev/vdb: UUID="7fb2c90a-fcd1-472c-b07c-8a20e2e9a436" TYPE="ext4"

编写/etc/fstab,其内容如下
UUID="7fb2c90a-fcd1-472c-b07c-8a20e2e9a436" /data		  ext4 	  defaults	0 0

4、挂载点目录/data需要提前创建好,然后执行mount -a进行加载,mount -a是系统启动时之行的指令,如果fstab编写有误要及时修复,避免影响下次开机启动

执行挂载操作
[root@VM_0_89_centos ~]# mount -a

检查挂载情况
[root@VM_0_89_centos ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        485M     0  485M   0% /dev
tmpfs           496M   24K  496M   1% /dev/shm
tmpfs           496M  444K  496M   1% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        50G  1.8G   46G   4% /
tmpfs           100M     0  100M   0% /run/user/0
/dev/vdb         99G   61M   94G   1% /data				#vdb磁盘已顺利挂载到系统中,大小为100G

至此,基于Linux系统上使用裸盘构建文件系统并使用操作演示完毕,通过操作可知,裸盘上创建文件系统方式不需要对磁盘进行分区,操作便捷容易,且方便扩容,下章节中演示基于裸设备文件文件系统存储空间扩容。

2.2 裸设备磁盘扩容

 

裸设备扩容

上述步骤是裸设备磁盘的扩容方式,扩容过程中存在数据损坏的风险,为了避免扩容过程中误操作,强烈建议扩容前对磁盘做快照,避免数据损坏时可以做恢复,谨记!做完快照后在控制台完成磁盘的扩容,扩容完毕后需要在操作系统中识别到扩容的空间,以磁盘扩容至200G为例,演示在Linux中裸设备扩容的操作过程:

1、 确认磁盘的使用方式,通过fdisk -l查看磁盘并未创建有任何磁盘分区

[root@VM_0_89_centos ~]# fdisk -l /dev/vdb

Disk /dev/vdb: 214.7 GB, 214748364800 bytes, 419430400 sectors    #磁盘空间已扩容至200G
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes        #当前磁盘上未创建任何分区

#使用blkid查看vdb磁盘文件系统的情况,可得知,当前/dev/vdb未创建磁盘分区,切构建了ext4文件系统
[root@VM_0_89_centos ~]# blkid
/dev/sr0: UUID="2020-01-13-22-30-05-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: UUID="4b499d76-769a-40a0-93dc-4a31a59add28" TYPE="ext4"
/dev/vdb: UUID="7fb2c90a-fcd1-472c-b07c-8a20e2e9a436" TYPE="ext4"   #直接在裸盘上创建ext4文件系统

2、确认为云盘的扩容方式为裸盘后,根据文件系统的类型,在文件系统层面扩容以识别到云盘的扩容空间

[root@VM_0_89_centos ~]# resize2fs /dev/vdb
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vdb is mounted on /data; on-line resizing required
old_desc_blocks = 13, new_desc_blocks = 25
The filesystem on /dev/vdb is now 52428800 blocks long.    #提示已经扩容至52428800个block

备注:如果是xfs,则使用xfs_growfs /dev/vdb扩容

3、校验磁盘空间扩容情况,使用df -H校验,vdb磁盘已在文件系统扩容至200G

[root@VM_0_89_centos ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        485M     0  485M   0% /dev
tmpfs           496M   24K  496M   1% /dev/shm
tmpfs           496M  444K  496M   1% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        50G  1.8G   46G   4% /
tmpfs           100M     0  100M   0% /run/user/0
/dev/vdb        197G   60M  188G   1% /data    #已扩容至200G

通过上述的操作演示可知,裸盘上并未创建任何磁盘分区,因此扩容过程相当便捷,直接在文件系统上扩容即可,使用简单,这也是云上推荐使用方式。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: