精选文章 oracle 裸磁盘扩容

oracle 裸磁盘扩容

作者:wo4owen 时间: 2021-02-05 09:43:11
wo4owen 2021-02-05 09:43:11
【摘要】云服务器存储扩容详解 
2020-01-20阅读 6640 
环境说明 
Linux操作系统:CentOS Linux release 7.6.1810 (Core) 
平台环境:腾讯云CVM,CBS 
本教程相关视频教程:腾讯云大学-云服务器存储扩容 

1. 存储扩容概述 
随着业务的发展,业务数据不停的增长,原有的磁盘空间可能会出现磁盘空间不够用的情况,因此,需要对磁盘空间进行扩容,以...

云服务器存储扩容详解

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

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

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:C++ 在类中包含另一个类

下一篇:DROP、TRUNCATE和DELETE区别

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

您可能感兴趣 换一换

  • 利用磁盘的序列号进行软件加密

    利用磁盘的序列号进行软件加密 用过共享软件的人都知道,一般的共享软件(特别是国外的)在使用一段时间后都会提出一些“苛刻”的要求,如让您输入注册号等等。如果您想在软件中实现该“功能”的话,方法有很多。在这里我介绍一种我认为安全性比较高的一种,仅供参考。   大家都知道,当您在命令行中键入“dir”指令后,系统都会读出一个称作Serial Number的十六进制数字。这个数字理论上有上亿种可能,...

  • Oracle Objects for OLE 及在VB中的应用

    Oracle Objects for OLE 及在VB中的应用   ---- 一 般 说 来, 访 问 远 程 后 台 数 据 库 我 们 都 是 通 过ODBC 来 完 成 的。 但 是,ODBC 有 一 个 致 命 的 缺 点 — — 速 度 慢。 事 实 上, 对 于ORACLE 数 据 库, 除 了ODBC, 我 们 还 可 以 利 用ORACLE 本 身 所 提 供 的OLE 对 ...

  • 格式化磁盘

    下贴是来自万千新闻组,只可惜这个国内最好的新闻组目前处于关闭状态,不知何时才能重新开通:( 发件人: 昨天摔了一跤 <windoze@yeah.net>主题: Re: 这个问题大家都不会吗?怎么没有人回答.日期: 2001年4月28日 6:02 算你运气好,这次你是死不了啦,下面有一个未公开的函数: #pragma comment(lib, "shell32.lib") // dwOptio...

  • Oracle 数据库复制常用脚本

    Oracle 数据库复制常用脚本(石骁騑 2001年07月30日 17:30) Oracle的数据复制是一个Oracle数据库产品中比较成熟的一项技术,它是整个分布式计算解决方案的一个重要组成部分。对于具有复制环境的数据库系统,和Oracle DBA一样,同样要有一个人来专门负责维护Oracle的数据复制问题,称之为Oracle Replication Administrator(Oracl...

  • Oracle 的 Index

    索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 Developer 们也经常与它打交道,但笔者发现,还是有不少的人对它存在误解,因此针对使用中的常见问题,讲三个问题。此文所有示例所用的数据库是 Oracle 8.1.7 OPS on HP N series ,示例全部是真实数据...

  • 在RedHat 7.0下Oracle 8.1.6 的安装实例

    1. 本文目的 在RedHat 7.0下安装Oracle 8I release 2企业版本数据库服务器 2. 安装前的软件准备    RedHat7.0安装光盘2张    Oracle8161_tar.gz下载地址:  http://technet.oracle.com/software/products/oracle8i/software_index.htm    glibc2.1版本(G...

  • 用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法

    用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法 北 京 航 空 航 天 大 学 计 算 机 科 学 与 工 程 系黎 杰 麦 中 凡 ---- 1. 引 言 ---- ORACLE 公 司 自1979 年 推 出 基 于SQL 标 准 的 关 系 数 据 库 产 品 到1997 年 版 本8 的 推 出,ORACLE 数 据 库 以 其 支 持 大 ...

  • 通过Delphi访问Oracle数据库

    通过Delphi访问Oracle数据库 徐长友 摘要:Delphi在数据库程序设计这一领域有着极其重要的作用。这当然不是因为它的友好开发界面,而是它的强大数据库引擎(Borland Database Engine,简称为BDE) 。本文将通过具体的实例详细介绍如何通过Delphi访问Oracle数据库,及进行数据库的程序设计。 主要内容包括: 配置BDE 认识Oracle ODBC数据源...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
oracle 裸磁盘扩容介绍:华为云为您免费提供oracle 裸磁盘扩容在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多oracle 裸磁盘扩容的相关内容。| 移动地址: oracle 裸磁盘扩容 | 写博客