前言 ---- 2T以上磁盘,建议分区为GPT格式 云上环境,单盘使用,建议直接使用裸盘 当前腾讯云文档中心提供的在线扩容只是 对裸盘(整块盘没有创建分区) 实现了在线扩容 主要分享:云盘在线扩容,无需卸载已挂载盘 扩容磁盘完成后,需要将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成一个独立的新分区。 前提 ---- 1、已扩容磁盘空间 2、磁盘已经挂载,并创建了文件系统 3、已登录待扩容的 Linux服务器 扩容操作步骤 ---- 以腾讯云磁盘扩容为例 确认磁盘分区方式:fdisk -l 不通操作系统略有不通 ,如下图:则说明使用GPT 分区方式 扩容文件系统:操作系统 CentOS 7.2 云盘在线扩容,无需卸载已挂载盘,也无需重启系统 云上环境,若无特殊要求,建议直接使用整块裸盘,直接格式化创建文件系统 /dev/vdb现在为1.5T,要求不能卸载磁盘,也不能重启系统,实现业务无感知在线扩容 /dev/vdb1 具体操作步骤: 安装gdisk: yum install gdisk -y 查看Partion
墨墨导读:最近被问到PG在线扩容的问题,本文整理了整个过程,之前写过一篇文章,供大家参考:《PosgreSQL三种表空间使用方式》https://www.modb.pro/db/14119。 1.
最近线上有一套集群的存储存在瓶颈,导致经常会有报警,如果按照存储现状和稍后的假期的数据增长,很可能会带来一些意料之外的问题,所以整体评估后,决定对已有的集群先做在线扩容,待假期结束后再做缩容。 如果要实现在线扩容,达到的一个中间状态如下,即把已有的从库分片提上来作为物理分片,这样4个分片就可以快速扩展为8个分片。 ? 如果要实践,整个步骤如下: 1)配置数据分片的双主复制,停掉数据分片节点的MHA服务,避免服务扩容期间出现意料之外的情况 2)在中间件节点P2的datahost从4节点配置改为8节点,相应的datanode
需求 对正在运行的生产服务器进行在线不停机扩容卷大小,在这个过程中,不影响已有的数据,不会对已有的磁盘做格式化,只单纯增加容量。 大致分为以下三个步骤: 扩容使用中的卷Size; 扩容分区; 扩容文件系统; [root@ip-172-31-19-192 ~]# lsblk NAME MAJ:MIN RM SIZE RO 0 100G 0 part / 调整卷大小 进入控制台,选择EC2 - 存储 -操作 - 修改卷 登陆实例调整大小 查看当前卷(磁盘)容量 使用lsblk命令查看当前磁盘的大小,发现已经成功扩容到 CHANGED: partition=1 start=2048 old: size=209713119 end=209715167 new: size=419428319 end=419430367 扩容文件系统 xfs文件系统使用xfs_growfs扩容磁盘的size。
文件系统为ext4格式(1)使用mkfs.ext4在线新建文件系统。 mkfs.ext4 /dev/vg_data/lv_data(2)检查文件系统是否扩容完成 df -h4.2.2. 文件系统为xfs格式(1)使用mkfs.xfs在线新建文件系统。 扩容文件系统5.1. 扩容文件系统5.2.1. 文件系统为ext4格式(1)使用resize2fs在线扩容。 resize2fs /dev/vg_data/lv_data01(2)检查文件系统是否扩容完成 df -h5.2.2. 文件系统为xfs格式(1)使用xfs_grow在线扩容。
之前介绍是针对ext4文件系统LVM分区在线扩容的,下面介绍XFS文件系统的LVM分区在线扩容操作 以/data分区为例 1、lsblk 或者fdisk –l查看新增的磁盘 例如/dev/sdb 6、扩容/data分区 xfs_growfs /dev/mapper/VolGroup-LogVol_data ? 7、df -Th验证 ?
对于Share-Nothing架构的分布式数据库来说,如何将数据均匀的分布到各个节点、在线扩容,以获取更大的存储容量和更高的并发访问量。 成为各大分布式数据库系统的一大挑战,今天我将对腾讯云数据库TBase的数据节点在线扩容方案做一个简单的分享。 这里有一个致命的问题,扩容后节点数会变多,数据分布的计算逻辑会导致已经存在的数据无法正常访问。 为解决这个问题,传统的分布式数据库必须把业务停掉,把所有数据导出,扩容后重新导入,在数据量较多时,这个过程可能会持续几天,这对于7*24小时的交易系统来说显然是不能接受的。 image.png TBase的在线扩容过程: 1. 选择要迁移到新添加数据节点的shardid。 2. 通过shardid找到要迁移的数据,采取存量+增量的方式把数据迁移到新的数据节点。 3.
背景 接到生产业务需求,需要在线扩容ES集群且不能影响数据安全性,经过对Elasticsearch角色的分析,发现直接扩容Data节点最简单而且能满足需求。 "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } 在线扩容节点
在集群资源紧张的情况下可通过动态的扩容节点来增加集群的计算能力,前面Fayson的文章讲过《如何在非Kerberos环境下对CDH进行扩容》、《如何使用Cloudera Manager在线为集群减容》。 本篇文章主要介绍如何为Kerberos环境的CDH集群在线扩容数据节点。Kerberos和非Kerberos的集群减容步骤是一样的,Fayson不会专门用文章来介绍。 上线DataNode节点并应用模板 4.执行Balance均衡集群数据 测试环境 1.CM和CDH版本为5.11.2 前置条件 1.CDH集群已安装成功并正常运行 2.集群已启用Kerberos 2.扩容集群环境说明 ---- 1.扩容前集群节点信息 [pur3mbddcm.jpeg] 2.扩容前HDSF容量 [72j9otl41t.jpeg] 3.扩容前Yarn资源池情况 [mc7zvofan2.jpeg] 3. [4hvt12y6zf.jpeg] 10.常见问题 ---- 1.在启动新扩容节点DataNode角色时报错,提示:代码块部分可以左右滑动查看噢 + '[' nfs3 = datanode ']' +
在上一个版本中,YashanDB已支持了存储的在线扩容,在最新版本V23.4 LTS中,新增计算节点的在线扩容能力,全面增强共享集群的在线扩容方案。 基于YashanDB共享集群架构天然的在线扩容优势“不需要迁移数据、不侵占业务IO资源、扩容时间短”,YashanDB在V23.4 LTS版本中实现计算节点层在线扩容。 此外,YashanDB共享集群依托崖山集群文件系统YFS可实现存储层在线扩容,YFS支持集群横向扩容和空间扩缩容,同时支持在线增减盘,包括在线创建磁盘组、向已有磁盘组增加故障组、向已有故障组增加磁盘三种 YashanDB共享集群在线扩容实践在模拟金融核心系统业务场景的严格测试中,我们基于TPC-C基准测试模型,对双实例架构的YashanDB共享集群进行在线扩容验证。 如图所示,在保持50W tpmC的压力测试五分钟的情况下进行在线扩容操作,YashanDB共享集群在线扩容添加实例耗时在30秒。
修改 CPU/MEM 值, 重启 VM 即可 virtctl restart <vmi> Kubevirt 也支持热升配[2],不停机,但有些限制,比如内核版本,存储读写模式等,后续实践后分享 磁盘在线扩容 [3] 开启磁盘扩容功能 kubectl -n kubevirt edit kubevirts.kubevirt.io kubevirt spec: configuration: developerConfiguration : featureGates: - ExpandDisks 查看当前数据盘大小,为500Gi 在线扩容到 600G 步骤, 手动修改关联 PVC 的大小即可, openebs-lvm 会自动扩容 ... spec: resources: requests: storage: "600Gi" 登录服务器,扩容文件系统 resize2fs /dev/vdb #
首先,强调一个概念,在线扩容系统盘扩的是容量,不是分区,对云平台来说,分区不可控,容量可控,扩容能产品化,扩展分区需要自己来。 powershell命令: $DiskOps=@" select disk 0 select volume c extend exit "@ $DiskOps | diskpart.exe | Out-Null 在线扩容系统盘扩的是容量 接口只能一台一台操作,api explorer操作的话只需要选定地域后指定3个参数(cvm实例id、系统盘目标大小、在线扩容) 当然,如果写代码的话,搞个简单的循环,就可以实现多台机器的操作(如果系统盘目标大小一样 ,地域一样,只是调系统盘大小,意味着每次只需要换cvm intanceid,也就是说搞个记录cvm intanceid的数组,每次传数组的一个值来调用接口即可) 在线扩容一般没有风险,可以先拿一台机器做个验证 (注意提交扩容后等一会儿,然后重新扫描磁盘才会看到C分区后面的空间,一些高版本系统可能会自动刷出来,无需重新扫描磁盘,但最好操作一下) 在多个实例全部扩容系统盘后,就可以批量扩展卷实现多台机器自动扩容C
ArrayList 扩容详解,扩容原理 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长。 ArrayList不是线程安全的,只能用在单线程环境下。 看如果需要扩容,则扩容。 ②是将要添加的元素放置到相应的数组中。 下面具体看 ensureCapacityInternal(size + 1); // ① 是如何判断和扩容的。 也就是当添加第11个数据的时候,Arraylist继续扩容变为10*1.5=15(如下图二);当添加第16个数据时,继续扩容变为15 * 1.5 =22个(如下图四)。 每次按照1.5倍(位运算)的比率通过copeOf的方式扩容。 在JKD1.6中实现是,如果通过无参构造的话,初始数组容量为10,每次通过copeOf的方式扩容后容量为原来的1.5倍,以上就是动态扩容的原理。
pvremove /dev/xvdb1 # 删除pv Labels on physical volume "/dev/xvdb1" successfully wiped 从lv删除到pv完成后,正式开始扩容操作 swap centos -wi-ao---- 1.00g 到这里,根分区的LVM已经扩容完成了 893M 0 893M 0% /sys/fs/cgroup /dev/xvda1 497M 161M 337M 33% /boot 因为目前系统还不知道你已经扩容好了
本文讨论了分布式数据库在在线扩容方面的挑战, 详细解释了一般分布式数据库和 TiDB 在扩容机制上的不同。 一般分布式数据库在进行在线扩容时,需要重新平衡数据分布,可能会影响系统的可用性和 IO 消耗。 相比之下,TiDB 的存算分离架构使得扩容对业务影响较小。 一般分布式数据库在线扩容是怎么做的集中式数据库因为其架构本身的限制,一般来说想要实现在线扩容是比较困难的,这里暂且不予讨论,我们主要了解一下一般分布式数据库的扩容是如何进行的。 可以明确的说, Greenplum 早期版本里面根本就不 支持所谓的“ 在线 ”扩容。时代在进步,数据库技术也在进步。 为了尽可能实现在线扩容的能力, Greenplum 数据库包括其他的分库分表数据库开始引入一些新的算法来优化此事。
容器纵向扩容虽然可以快速调整容器资源限制,但会影响业务连续性,对于应用特别是 7*24 小时重点保障应用,这是无法接受的。 目前,业界并没有容器在线纵向扩容的成熟方案。 随着容器种类和规模的不断扩大,上云后资源利用率和服务高可用也变得尤为重要,而容器在线纵向扩容正是保障应用服务高可用的一个重要的手段和措施。 至此,工商银行已顺利实现容器在线纵向扩容的创新探索及案例验证。 依托云运维能力,实现容器在线纵向扩容落地 工商银行基于容器自服务云平台,集成容器在线纵向扩容功能,形成可视化、易操作的自服务体系,已成功实现生产环境落地,并在 MySQL 容器实现全面推广,效果立竿见影 通过结合 Prometheus 等监控手段,MySQL 容器在性能容量达到一定阈值时,能够实现秒级扩容,降低停机扩容的运维成本和时间,并通过在线方式保障了业务的连续性和高可用性。
pc_blog_bottom_relevance_base6&spm=1001.2101.3001.4242.1&utm_relevant_index=3 其实有些地方他也写的不是太清楚,这儿补充一下 这儿快照删掉之后就可以扩容了
笔者在面试美团时曾被面试官问到HashMap扩容机制的原理。这个问题倒不难,但是有些细节仍需注意。 JDK1.8对HashMap进行的较大的改动,其中对HashMap的扩容机制进行了优化。 这是因为多次执行put操作会引发HashMap的扩容机制,HashMap的扩容机制采用头插法的方式移动元素,这样会造成链表闭环,形成死循环。 JDK1.8中HashMap使用高低位来平移元素,这样保证效率的同时避免了多线程情况下扩容造成死循环的问题。这篇博客重点介绍扩容时使用到的高地低平移算法。 在扩容机制下数组两倍扩容,数组的长度发生了变化,同时我们也必须要严格遵守计算数组下标index的算法,否则在新数组调用get()无法获取到相应的Node结点。 当数组扩容时,链表所有的结点必须根据新数组的长度重新计算下标位,此时即使链表中每个结点的Hash值不尽相同,但是由于&运算和数组两倍扩容的特殊性,可以根据高低位算法将链表分为高位链表和低位链表,并将这两个链表迁移到新数组不同的下标位
为了方便后人快速扩容,特此记录。 就是说假如我们有3块4T的硬盘,我们可以用LVM组成一个12T的硬盘来用,后期也可以非常安全的在线扩容。ps:现在Linux安装的时候其实默认就采用了LVM的形式。 开始扩容 那么了解了基本概念后,我们就要开始扩容了,我们先使用df -h看看我的服务器的可用空间: 太惨了吧! 这个时候再看我们的操作室LV就已经扩容啦! 咦~但我们的文件系统为啥还是这么小呢? 这个时候操作系统还没法识别到这个新的空间,所以我们要更新一下让操作系统知道我们已经扩容啦!不同格式的分区更新文件系统的方式也不一样。需要查看一下你的文件系统是ext4还是xfs。
image.png image.png DOCKER在线扩容 DOCKER搭建私有仓库