精华内容
下载资源
问答
  • PostgreSQL 数据库跨版本升级常用方案

    千次阅读 2020-11-12 10:44:28
    本文介绍了 PostgreSQL 数据库版本升级的 3 种常用方案,包括通过 pg_dump/pg_dumpall 逻辑备份与还原进行升级,利用 pg_upgrade 工具进行升级,使用逻辑复制功能进行升级。了解它们的优缺点和适用场景可以帮助我们...

    upgrade

    大家好,我是只谈技术不剪发的 Tony 老师。对于企业而言,将数据库系统升级到新版本通常可以获得更好的性能、更多的功能、最新的安全补丁和错误修复等。因此,本文就来介绍一下 PostgreSQL 数据库版本升级的 3 种常用方案。

    如果觉得文章有用,欢迎评论📝、点赞👍、推荐🎁

    升级方案概述

    PostgreSQL 版本号由主要版本和次要版本组成。例如,PostgreSQL 12.4 中的 12 是主要版本,4 是次要版本;PostgreSQL 10.0 之前的版本由 3 个数字组成,例如 9.6.19,其中 9.6 是主要版本,19 是次要版本。

    发布次要版本是不会改变内存的存储格式,因此总是和相同的主要版本兼容。例如,PostgreSQL 12.4 和 PostgreSQL 12.0 以及后续的 PostgreSQL 12.x 兼容。对于这些兼容版本的升级非常简单,只需要关闭数据库服务,安装替换二进制的可执行文件,重新启动服务即可。

    接下来,我们主要讨论 PostgreSQL 的跨版本升级问题,例如从 PostgreSQL 12.x 升级到 PostgreSQL 13.y。主要版本的升级可能会修改内部数据的存储格式,因此需要执行额外的操作。常用的跨版本升级方法和适用场景如下:

    升级方法适用场景停机时间
    逻辑备份与还原中小型数据库,例如小于 100 GB
    支持跨平台数据迁移
    取决于数据库的大小
    pg_upgrade 工具大中型数据库,例如大于 100 GB
    本机就地升级
    几分钟
    逻辑复制大中型数据库,例如大于 100 GB
    跨平台支持
    几秒钟

    📝如果使用厂商提供的 PostgreSQL 定制版本,也可能通过他们提供的工具实现版本升级,具体参考相关文档。

    注意事项:升级主要版本通过会导致用户可见的不兼容性,因此应用程序可能需要进行相应的修改。具体的变化可以参考发行说明,尤其是“Migration”部分的内容;如果跨多个主要版本进行升级,需要阅读每个中间版本的发行说明。

    通过逻辑备份与还原进行升级

    传统的跨版本升级方法利用 pg_dump/pg_dumpall 逻辑备份导出数据库,然后在新版本中通过 pg_restore 进行还原。导出旧版本数据库时推荐使用新版本的 pg_dump/pg_dumpall 工具,可以利用最新的并行导出和还原功能,同时可以减少数据库膨胀问题。

    逻辑备份与还原非常简单但速度比较慢,停机时间取决于数据库的大小,因此适合中小型数据库的升级。

    下面我们介绍这种升级方法的具体操作,假如当前 PostgreSQL 软件的安装目录位于 /usr/local/pgsql,同时数据目录位于 /usr/local/pgsql/data,我们在同一台服务器上进行升级。

    1. 执行逻辑备份之前停止应用程序,确保没有数据更新,因为备份开始后的更新不会被导出。如有必要,可以修改 /usr/local/pgsql/data/pg_hba.conf 文件禁止其他人访问数据库。

      然后备份数据库:

      pg_dumpall > outputfile
      

      如果已经安装了新版本的 PostgreSQL,可以使用新版本的 pg_dumpall 命令备份旧版本数据库。

    2. 停止旧版本的后台服务:

      pg_ctl stop
      

      或者通过其他方式停止后台服务。

    3. 如果安装目录没有包含特定版本标识,可以将目录改名,必要时可以再修改回来。可以使用类似以下的命令重命名目录:

      mv /usr/local/pgsql /usr/local/pgsql.old
      
    4. 安装新版本 PostgreSQL 软件,假如安装目录仍然是 /usr/local/pgsql。

    5. 初始化一个新的数据库集群,需要使用数据库专用用户(通常是 postgres;如果是升级版本,应该已经存在该用户)执行操作:

      /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
      
    6. 将旧版本配置文件 pg_hba.conf 和 postgresql.conf 等中的改动在对应的新配置文件中再次进行修改。

    7. 使用数据库专用用户启动新版本的后台服务:

       /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
      
    8. 最后,利用新版本的 psql 命令还原数据:

      /usr/local/pgsql/bin/psql -d postgres -f outputfile
      

    为了减少停机时间,可以将新版本的 PostgreSQL 安装到另一个目录(例如 /usr/local/pgsql-13),同时使用不同的端口启动服务。然后同时执行数据库的导出和导入:

    pg_dumpall -p 5432 | psql -d postgres -p 5433
    

    执行以上操作时,新旧版本的后台服务同时运行,新版本使用 5433 端口,旧版本使用 5432 端口。

    利用 pg_upgrade 工具进行升级

    pg_upgrade 工具可以支持 PostgreSQL 跨版本的就地升级,不需要执行导出和导入操作。pg_upgrade 可以支持 PostgreSQL 8.4.X 到最新版本的升级,包括快照版本和测试版本。

    pg_upgrade 提供了升级前的兼容性检查(-c 或者 --check 选项)功能, 可以发现插件、数据类型不兼容等问题。如果指定了 --link 选项,新版本服务可以直接使用原有的数据库文件而不需要执行复制,通常可以在几分钟内完成升级操作。

    下面我们介绍这种升级方法的具体操作,假如当前 PostgreSQL 软件的安装目录位于 /usr/pgsql-12/,同时数据目录位于 /var/lib/pgsql/12/data/,我们将其升级为 PostgreSQL 13。

    1. 确定没有客户端访问之后备份数据库,然后停止旧版本的后台服务。例如 CentOS 可以执行以下命令:

      sudo systemctl stop postgresql-12
      sudo systemctl disable postgresql-12
      
    2. 安装新版本的 PostgreSQL 软件。例如 PostgreSQL 13.0,安装目录位于 /usr/pgsql-13/。

    3. 初始化新版本的数据库集群。数据目录设置为 /var/lib/pgsql/13/data/。

    4. 如果旧版本中安装了扩展模块,在新版本中也需要安装相应的共享对象文件或者 DLL 文件。但是不要执行CREATE EXTENSION命令,因为会从旧数据库中进行升级。另外,如果使用了任何自定义的全文搜索文件(字典、同义词、词库、停用词),也需要复制到新的数据库集群目录中。

    5. 停止新版本的后台服务。例如 CentOS 可以执行以下命令:

      sudo systemctl stop postgresql-13
      
    6. 通过 pg_upgrade 执行升级操作,使用数据库专用用户(通常是 postgres)执行以下操作:

      /usr/pgsql-13/bin/pg_upgrade \
        --old-datadir /var/lib/pgsql/12/data/ \
        --new-datadir /var/lib/pgsql/13/data/ \
        --old-bindir /usr/pgsql-12/bin/ \
        --new-bindir /usr/pgsql-13/bin/ \
        --check
      

      其中 --check 表示执行升级检查,而不会真的执行升级操作。通过检查之后,可以去掉该参数执行升级:

      /usr/pgsql-13/bin/pg_upgrade \
        --old-datadir /var/lib/pgsql/12/data/ \
        --new-datadir /var/lib/pgsql/13/data/ \
        --old-bindir /usr/pgsql-12/bin/ \
        --new-bindir /usr/pgsql-13/bin/ \
        --link
      

      其中 --link 表示将新版本的数据目录硬链接到旧版本的数据目录,而不会复制一份新的数据文件,可以快速进行升级。

    7. 将旧版本配置文件 pg_hba.conf 和 postgresql.conf 等中的改动在对应的新配置文件中再次进行修改。

    8. 启动新版本的后台服务。例如 CentOS 可以执行以下命令:

      sudo systemctl start postgresql-13
      sudo systemctl enable postgresql-13
      
    9. 连接服务器查看数据库的版本信息:

      SELECT version();
      version                                                                                                |
      -------------------------------------------------------------------------------------------------------|
      PostgreSQL 13.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit|
      
    10. 收集统计信息。pg_upgrade 不会生成新版本数据库的统计信息,但是会创建一个脚本文件,执行该文件:

      ./analyze_new_cluster.sh
      
    11. 如果确认升级成功,可以选择删除或者保留旧的数据库软件和集群。pg_upgrade 同样提供了一个删除旧数据库集群的脚本:

        ./delete_old_cluster.sh
      

      然后可以删除旧版本的 PostgreSQL 软件,例如 CentOS 可以执行以下命令:

      yum remove postgresql12*
      
    12. 如果想要回退到旧版本的数据库,可以分为不同的情况:

      • 如果只运行了 --check 选项命令,表示没有真正执行升级,重新启动服务即可;
      • 如果升级时没有使用 --link 选项,旧版本的数据库集群没有任何修改,重新启动服务即可;
      • 如果升级时使用了 --link 选项,数据库文件可能已经被新版本的集群使用:
        • 如果 pg_upgrade 在链接操作之前终止,旧版本的数据库集群没有任何修改,重新启动服务即可;
        • 如果没有启动过新版本的后台服务,旧版本的数据库集群没有修改,但是链接过程已经将 $PGDATA/global/pg_control 文件重命名为 $PGDATA/global/pg_control.old;此时需要将该文件名中的 .old 后缀去掉,然后重新启动服务即可;
        • 如果已经启动了新版本的数据库集群,已经修改了数据库文件,再启动旧版本的服务可能导致数据损坏;此时需要通过备份文件还原旧版本的数据库。

    关于 pg_upgrade 的详细使用和升级注意事项,例如流复制结构和日志传输复制结构中备用节点的升级,可以参考官方文档

    使用逻辑复制功能进行升级

    逻辑复制

    PostgreSQL 逻辑复制支持跨版本之间的数据复制,而且支持不同平台之间的复制,因此也可以用于实现版本升级。我们可以安装一个新版本的数据库作为复制的从节点,当数据已经同步时执行一次主从切换,然后关闭旧版本的主节点。主从切换的升级方法通常只需要几秒钟就能完成,利用第三方高可用组件甚至可以实现零停机时间升级。

    PostgreSQL 10 开始提供了内置的逻辑复制功能,或者也可以使用 pglogical、Slony、Londiste 以及 Bucardo 等逻辑复杂工具。

    关于 PostgreSQL 逻辑复制结构的创建和主从切换,可以参考官方文档

    总结

    PostgreSQL 小版本升级只需要替换二进制文件即可,跨版本升级的方案主要有 3 种:通过 pg_dump/pg_dumpall 逻辑备份与还原进行升级,利用 pg_upgrade 工具进行升级,使用逻辑复制功能进行升级。了解它们的优缺点和适用场景可以帮助我们选择最佳的升级方式。

    展开全文
  • App版本升级更新

    千次下载 热门讨论 2016-11-03 12:39:58
    App版本升级更新,集成轻松搞定
  • tomcat升级版本升级

    千次阅读 2020-12-30 17:07:42
    tomcat升级 1:查看当前tomcat版本: 一般tomcat安装在/usr/local/下 cd 至apache-tomcat-xxx/bin sh version.sh命令,查看版本信息 2:下载需要的tomcat安装包: 下载网址:https://tomcat.apache.org/ 选择需要下载...

    tomcat升级

    1:查看当前tomcat版本:
    一般tomcat安装在/usr/local/下
    cd 至apache-tomcat-xxx/bin
    sh version.sh命令,查看版本信息

    2:下载需要的tomcat安装包:
    下载网址:https://tomcat.apache.org/
    选择需要下载的版本:
    在这里插入图片描述

    3:去服务器备份apache-tomcat-xx 下的全部文件。

    来到apache-tomcat-xx同级目录新建一个文件夹:

    命令:mkdir tomcat-backups

    复制apache-tomcat-xx下的所有文件到 tomcat-backups:

    命令:cp -Rf apache-tomcat-xx路径/* tomcat-backups/
    例:cp -Rf /usr/local/apache-tomcat-7.0.92/* /usr/local/tomcat-backups/

    4:将现apache-tomcat-xx改名为apache-tomcat-old
    命令mv apache-tomcat-xx apache-tomcat-old

    5:上传下载过的tomcat安装包。

    6:使用tar -zxvf命令解压tomcat到该文件夹 或 unzip file.zip 解压zip 文件夹

    7: cd 至apache-tomcat-xxx/bin目录下 添加权限chmod 777 *.sh

    8: 修改解压的tomcat下的conf(server.xml和web.xml和content.xml。3个文件),并删除ROOT,docs,manager文件(没有则不用管)

    9:cd 至tomcat/bin目录下,执行 ./shutdown.sh关闭 ./startup.sh启动服务器

    10:查看tomcat版本信息 cd 至apache-tomcat-xxx/bin
    version.sh命令,查看版本信息

    11:cd 至新的tomcat/bin目录下,执行 ./shutdown.sh关闭;将备份项目移到新的tomcat下;
    例:cp -Rf /usr/local/tomcat-backups/* /usr/local/apache-tomcat-新版本/
    启动 ./startup.sh

    注意:若项目上传下载路径配置的是tomcat下的,则修改一下application.properties上传下载路径。

    展开全文
  • mongodb版本升级

    千次阅读 2019-07-30 16:02:26
    mongodb版本升级 一、背景     目前公司的mongodb版本是3.0.6的老版本,公司希望将mongodb版本升级到3.6以上,那么蛋疼了,以前没做过数据库升级,在脑子里的第一反应是要不要重新部署一套mongodb副本集+分片...

    mongodb版本升级

    一、背景
        目前公司的mongodb版本是3.0.6的老版本,公司希望将mongodb版本升级到3.6以上,那么蛋疼了,以前没做过数据库升级,在脑子里的第一反应是要不要重新部署一套mongodb副本集+分片的模式,又或者是可以直接从3.0.6的版本升级到3.6版本以上,经过查阅资料发现,实际mongodb版本升级是需要一步一步来的,需要先升级到3.4版本,再升级到3.6版本。
    3.0 ======> 3.4 ======> 3.6

    二、三个重点需要注意
    1、一定要备份config数据库;
    2、修改认证方式;需要将最新的认证方式SCRAM-SHA-1 改成老的认证方式 MONGODB-CR,老用户依然能正常登陆。
    3、可通过开启认证的方式启动服务,通过老版本用户登陆授权;

    三、环境
    当前mongodb集群三台机器,环境是副本集+分片模式
    mongodb1:分片主1、分片主2、分片主3、config、mongos
    mongodb2:分片副本1、分片副本2、分片副本3、config、mongos
    mongodb3:分片副本1、分片副本2、分片副本3、config、mongos

    四、下载各个版本的mongodb包

    [yukw@mongodb1 mongodbwork3.4]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.4.tgz              ##下载版本为3.4.4
    [yukw@mongodb1 mongodbwork3.4]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.5.tgz				##下载版本为3.6.5
    

    五、下面介绍如何从3.0升级到3.4
    ##1、拷贝包到相应目录

    [yukw@mongodb1 mongodbwork3.4]$ mkdir /data/service/mongodbwork3.4
    [yukw@mongodb1 mongodbwork3.4]$ cp mongodb-linux-x86_64-rhel62-3.4.4.tgz /data/service/mongodbwork3.4/
    

    ##2、解压压缩包

    [yukw@mongodb1 mongodbwork3.4]$ tar xf mongodb-linux-x86_64-rhel62-3.4.4.tgz
    [yukw@mongodb1 mongodbwork3.4]$ mv mongodb-linux-x86_64-rhel62-3.4.4 mongodb
    

    ##3、停止mongodb服务

    [yukw@mongodb1 mongodbwork3.4]$ ps -ef |grep mongo |grep -v grep | awk '{print $2}' | xargs kill -2      ##每台机器都执行
    

    ##、以3.4版本的mongodb二进制文件依次启动三个分片服务

    [yukw@mongodb1 mongodbwork3.4] $/data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongodb1.conf     ##每台机器都执行,mongodb1.conf 为mongod1配置文件
    [yukw@mongodb1 mongodbwork3.4] $/data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongodb2.conf	 ##每台机器都执行,mongodb2.conf 为mongod2配置文件
    [yukw@mongodb1 mongodbwork3.4] $/data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongodb3.conf	 ##每台机器都执行,mongodb3.conf 为mongod3配置文件
    

    ##4、在PRIMARY机器上升级版本(在副本集的主上运行)

    [yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port mongodb1_prot
    configdb:PRIMARY> use admin
    switched to db admin
    shard1:PRIMARY> db.auth("user_name","password")
    1
    configdb:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
    { "ok" : 1 }
    configdb:PRIMARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
    { "featureCompatibilityVersion" : "3.4", "ok" : 1 }
    ###############上面primary机器已经升级到3.4,然后再到副本集机器验证##############
    [yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port mongodb2_prot
    configdb:PRIMARY> use admin
    switched to db admin
    shard1:PRIMARY> db.auth("user_name","password")
    1
    configdb:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
    { "ok" : 1 }
    ###############上面primary机器已经升级到3.4,然后再到副本集机器验证##############
    [yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port mongodb3_prot
    configdb:PRIMARY> use admin
    switched to db admin
    shard1:PRIMARY> db.auth("user_name","password")
    1
    configdb:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
    { "ok" : 1 }
    ###############上面primary机器已经升级到3.4,然后再到副本集机器验证##############
    

    ##5、上每台副本集机器查看分片服务版本是否更新

    shard1:SECONDARY> use admin
    switched to db admin
    shard1:SECONDARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
    { "featureCompatibilityVersion" : "3.4", "ok" : 1 }
    

    在这里插入图片描述
    ##6、启动配置服务

    [yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongo_config.conf     ##三台机器均执行
    

    ##7、config配置服务配置副本集,这里需要注意先将config数据文件备份(这一步读者自己去备份),因为在配置副本集时可能会提示副本集目录中存在数据,无法初始化

    [yukw@mongodb3 data]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port config_port
    
    > use admin
    switched to db admin
    > configdb1={_id:'configdb',members:[
    {_id:0,host:'10.0.1.211:20000',priority:9},
    {_id:1,host:'10.0.1.209:20000',priority:5},
    {_id:2,host:'10.0.1.111:20000',priority:7}]
    }                             ## 配置副本集并设置权重
    >  rs.initiate(configdb1)     ##初始化配置
    

    这里解释一下,3.0版本不需要config配置服务设置副本集就能启动mongos路由服务,但是在3.4版本需要将config配置服务配置副本集,不然启动mongos服务会报错,如下:在这里插入图片描述
    ##8、修改mongos配置文件
    在这里插入图片描述
    ##9、启动mongos路由服务

    [yukw@mongodb1 data]$ /data/service/mongodbwork3.4/mongodb/bin/mongos -f /etc/mongo_mongos.conf   ##每台机器都执行
    

    ##10、修改认证方式

    [yukw@mongodb1 data]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port 30000
    > use admin
    switched to db admin
    >  var schema = db.system.version.findOne({"_id" : "authSchema"})
    > schema.currentVersion = 3
    3
    > db.system.version.save(schema)
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    

    ##11、将3.4版本升级到3.6,原理同上

    注意:
    1、配置服务器需要做副本集,因为mongos路由配置文件里需要填写配置服务器的副本名称;
    2、原有的config目录下的数据存在,导致创建配置服务器副本集报错;
    3、数据库数据丢失,需要重新恢复;
    4、分片重新做;
    5、config和mongos服务中之前建立的用户丢失;
    6、索引不兼容,版本3.0.6中是 v:1,版本3.4.x中是v:2,但是恢复数据后,索引会自动变成v:2

    好了,这就是mongodb版本升级的完整过程了,如有问题可联系博主一起交流讨论!

    展开全文
  • 文章目录背景介绍升级前的准备开启S9306 FTP服务WIN7/10远程登陆FTP交换机查看配置是否成功备份S9306交换机配置及版本文件正式升级版本操作步骤第一步 上传升级过渡版本第二步 设置交换机升级版本为启动运行版本第...

    背景介绍

    华为交换机升级文件小知识: *.cc是升级主文件 *.pat升级补丁
    本案例交换机的原始版本号:le02ets02v100r002c00spc002.cc(约262M)
    由于版本太旧,需要升级到最新版需要升级二次。

    更新版本号:

    1. S9300-V200R010C00SPC600.cc(过渡版本)
    2. S9300-V200R019C10SPC500-SRUA&B.cc(最终版本)
    3. S9300series-V200R019SPH010.pat(补丁)

    注意:要先确认升级交换机是否有主备双控板,升级时应同时让主备控板同时升级,也就是2个文件都需同时存在,否则将出现升级不成功。

    本案例交换机的管理地址为:172.24.0.1/24 ,选择任意一台网内电脑IP能访问该交换机即可。

    升级前的准备

    在交换机命令行输入以下命令
    dis dev
    该命令先,查看设备运行状态和注册状态,原则上全都显示应为Registered。
    注:本案例存在主备双控板,见下图。在slot 7和slot 8有Master(主控板) /slave(备控板)

    在这里插入图片描述

    开启S9306 FTP服务

    注:开启FTP用户,并设置FTP密码为ftp123456(均为小写)。

    以下命令复制到S9306交换机内:(注意开启super超级用户权限,如不会操作,可见《如何开启华为交换机的SUPER权限》一文)。

    <s9306> aaa
    <s9306> ftp server enable
    <s9306> local-user ftp password cipher ftp123456       
    <s9306> local-user ftp privilege level 3
    <s9306> local-ser ftp ftp-directory cfcard:/
    

    WIN7/10远程登陆FTP交换机查看配置是否成功

    1. 打开CMD命令窗口;
    2. 输入命令

    ftp 172.24.0.1

    1. 输入设置ftp用户密码
      系统提示User logged in,代表已成功访问s9306交换机。
    2. 输入dir查看s9306交换机的存储文件情况
      在这里插入图片描述

    备份S9306交换机配置及版本文件

    在ftp命令符下输入以下命令

    ftp> get vrpcfg.zip d:\vrpcfg.zip 
    ftp> get S9300-V200R010C00SPC600.cc d:\
    ftp> get s9300v100r1001sph011.pat d:\
    

    在这里插入图片描述
    当出现收到XXX字节,用时xx秒的字样,表示完成下载。

    正式升级新版本操作步骤

    第一步 上传升级过渡版本

    在ftp 命令模式下,将文件上传至S9306交换机内:

    ftp> put d:\S9300-V200R010C00SPC600.cc 
    ftp> copy d:\S9300-V200R010C00SPC600.cc  slave#cfcard:/
    

    第二步 设置交换机升级版本为启动运行版本

    <s9306> startup system-software S9300-V200R010C00SPC600.cc
    <s9306> startup system-software S9300-V200R010C00SPC600.cc slave-board
    <s9306> dis startup 
    

    在这里插入图片描述
    只要系统显示 Next startup system software: 意思是下次重启启动的版本为*.cc 。

    第三步 重启交换机等待更新

    < s9306> reboot
    确认按“Y",别急,等待预计30分钟左右即可,也有可能不需要30分钟

    升级最新版本(非必选项,可根据实际情况进行更新操作)

    注:重复“过渡版本”升级操作步骤

    1. 上传版本文件至主备双控板
    2. 上传补丁文件至主控板(无需上传至备控板,通过命令可自动执行备板更新补丁)
    3. 设置系统启动版本号
    4. 重启设备

    WIN 命令行操作:

    ftp> put D:\S9300-V200R019C10SPC500-SRUA&B.cc cd slave#cfcard: 
    ftp> put D:\S9306config\S9300series-V200R019SPH010.pat
    ftp>copy S9300-V200R019C10SPC500-SRUA&B.cc slave#cfcard:/
    

    上传补丁截图
    在这里插入图片描述

    S9306交换机操作:

    <s9306> startup system-software S9300-V200R019C10SPC500-SRUA&B.cc 
    <s9306> startup system-software S9300-V200R019C10SPC500-SRUA&B.cc slave-board
    <s9306> reboot
    

    补丁更新操作(非必选项,可根据实际情况进行更新操作)

    1. 上传补丁文件

    ftp> put S9300series-V200R019SPH010.pat

    1. 在交换机输入更新补丁命令

    < s9306> patch load S9300series-V200R019SPH010.pat all run

    在这里插入图片描述

    友情提醒(重要!!!)

    升级操作前,一定要确认自己是否有主备双控板,如有备控板一定要同时上传升级文件给主备双控板中,否则出现主控板升级备控板无法升级,造成只有1个主控板运行。

    当出现单备控板运行时,系统将出现1个主控板并且仍然运行在旧版本上。
    万一出现此类情况,再将未升级的控板重新升级后再重启交换机即可。

    升级完成后记得关闭ftp帐号及服务

    删除账号:

    [s9306] aaa
    [s9306-aaa]undo local-user ftp 
    [s9306-aaa] quit
    [s9306] undo ftp server
    

    重启交换机后发现业务板未注册成功的原因

    答:当出现以下未注册情况,有可能交换机刚启动还在注册中,需要等待30分钟左右启动业务板,此过程会发现所有业务板(网口、电口灯全灭),第一次见到很是吓人,担心启动不起来,影响所有业务。
    所以,建议还是选个不影响业务的时间进行操作,比较合适。
    在这里插入图片描述

    小知识

    1. 交换机空间不足怎么办?

    答:可通过删除日志文件来腾出空间,命令如下:

    <s9306> cd logfile/
    <s9306> delete /unreserved *.zip
    

    系统将提示是否删除,按“Y”即可。经过此操作应该可以空出比较大的空间。

    同时,也可以升级成功后删除旧版本文件(删除前,要注意删除目前交换机正在使用的版本:

    注:一定要先升级后再删除,不能在升级前将旧版本删除。
    (空间不足,可以先上传新版本文件,再删除旧版本,记住主备板同时存在2份系统文件,可以删除时一起删除)

    <s9306> delete /unreserved s9300-v200r010c00spc600.cc cd slave#cfcard: 
    <s9306> delete /unreserved s9300-v200r010c00spc600.cc
    

    2. 如何查看交换机版本?

    答:输入dis ver命令。

    < s9306> dis ver
    在这里插入图片描述

    3. 如何显示交换机的文件命令:

    答:dir /all

    < s9306> dir /all
    在这里插入图片描述

    升级参考链接

    1. 华为S9306交换机版本升级及补丁加载操作步骤(上节)(附FTP上下载过程)

    2. 华为官网升级指导书

    展开全文
  • tomcat版本升级

    千次阅读 2020-10-16 11:51:42
    版本升级(7.0.53升级到7.0.106)只需要替换lib文件夹下的jar包即可,部分版本升级可能需要替换tomcat的本地库bin/tcnative-1.dll文件。 如果是32位tomcat升级到64位的tomcat还需要替换bin文件夹下的tomcat...
  • 背景: 经安全检测,当前版本的nginx有风险,需要升级到最新版本的nginx,于是进行了原生的nginx版本升级和docker中的nginx版本进行升级 一、原生Nginx版本升级 直接安装到服务器中的nginx因为是编译安装的,所以...
  • nodeJS版本升级

    千次阅读 2019-05-16 10:48:41
    nodeJS版本升级 1.全局 npm i -g n --force 2.升级node 2.1 升级到指定版本 : n 版本号 2.2 升级到最新版本 n latest 2.3 升级到最稳定的版本 n stable 更新到最新稳定版本: 其中这个更新应该是采用linux安装...
  • H3C 交换机软件版本升级详细步骤

    千次阅读 2021-03-25 17:43:21
    H3C 交换机软件版本升级详细步骤 本篇介绍H3C交换机软件版本升级操作步骤,以S5130-28F-SI为例。 当前版本: 第1步:官方下载最新软件版本并查看相关说明。最新版是S5130SI-CMW710-R3506P10 第2步:检查交换机磁盘...
  • mysql版本升级

    万次阅读 2018-09-17 13:56:00
    Logical upgrade:利用mysqldump直接导出sql文件,然后倒入到新库中,适用于跨度大的版本升级方案,做法相对安全,并能整理表中碎片。但如果有数据量较大的库需要mysqldump导出,时间就会很长。 In-place upgrade:...
  • nginx 版本升级,亲测可用

    千次阅读 2019-11-08 14:10:40
    今天,我们来聊一聊,在企业实际生产环境中经常遇到的一个情况,升级Nginx到新的版本和如何回滚至旧版本。 1、环境介绍 今天准备的两个nginx版本如下: [root@nginx~]#cd/download/nginx/[root@nginx...
  • GitLab版本升级跨大版本

    千次阅读 2019-08-06 13:21:06
    GitLab版本升级跨大版本 1. 备份 在升级前一定要做好备份,记录自己当前gitlab-ca的版本号。 # yum list | grep gitlab-ce 2.备份文件 # vim /etc/gitlab/gitlab.rb gitlab_rails[‘manage_backup_...
  • Centos7 Gitlab版本升级过程

    千次阅读 2019-08-22 16:08:21
    Gitlab版本升级过程暂定 暂定
  • mysql小版本升级

    千次阅读 2020-03-31 15:57:41
    1、备份mysql旧版目录: cp -R mysql mysql-5.7.22 2、备份mysql数据: ...新建data目录,移旧版本的data数据文件至该目录下(方便以后升级mysql小版本);更改旧版本的my.cnf文件(datadir指向新data目录),...
  • Flutter开发杂谈之版本升级&版本回退

    千次阅读 2020-08-27 09:21:20
    鉴于Flutter尚且在高速发展期sdk的版本的更新迭代难免会十分频繁,作为一个有追求的开发者你可能也在时刻紧跟Google的步伐,频繁的更新自己Flutter项目的sdk,但是会有这么个场景下又使得你不得不从新版本的sdk中回...
  • 思科(Cisco)交换机软件版本升级步骤 一、准备软件版本 在思科官方网站(思科官网传送门)下载你需要的系统版本文件,将软件版本准备好拷贝到U盘。 二、准备设备 将交换机加电启动,通过CRT- console进行连接,界面...
  • 【Grafana】版本升级 5.4.3 至 6.5.2

    千次阅读 2020-01-15 10:18:10
    6.5 版本与 5.4 版本区别 mysql 数据库部分表结构不一致 配置文件有更改 iframe 不能直接嵌入,需要 修改配置 allow_enbedding=true 更多区别见 https://grafana.com/docs/grafana/latest/installation/upgrading/...
  • Redis集群版本升级

    千次阅读 2018-07-13 23:21:29
    1、版本升级问题及对应解决方案1.1、代码是否支持redis 3.2.10,是否需要升级对应jar包? a) 先在测试环境部署对应新版集群3.2.10,使用代码进行连接,测试是否存在问题(具体过程参见2);1.2、怎么保证redis平滑...
  • -- 8.0以上的寥寥无几,参考各种版本升级的方案和新版本文字说明, -- 总结了以下简单快捷 小版本升级方式(大版本未测,个人认为应该不可行) --- 不说了上流程 #关闭mysql systemctl stop mysqld #解压上传的包...
  • 标签:Python版本升级CentOS 6.3自带的Python版本为2.6,首先需要升级到2.7版本。由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装。1.下载Python-2.7.4.tgzwget ...
  • MySQL 8.0 新的版本升级方式

    千次阅读 2020-02-12 11:16:29
    一直以来,MySQL版本升级依赖额外的工具 mysql_upgrade ,但是从 MySQL 8.0.16 开始,mysql_upgrade 工具将被废弃,取而代之的是MySQL 8.0 新的版本升级方式,升级功能集成到MySQL Server的进程mysqld中,不再依赖...
  • SQLite数据库版本升级

    千次阅读 2018-03-12 17:01:56
    第一个版本时所设计的数据库结构,如果在以后的app版本中需要增加业务逻辑,数据库的表可能要做相应的修改,那么原来的数据库结构就不能用了,这时就需要对数据库进行升级。 二.升级方案 1.让用户将应用卸载然后...
  • solr版本升级说明

    万次阅读 2017-06-14 14:35:46
    Solr5发布了,带来了许多新特性,但Solrj的许多接口也发生了变化,下面是和之前的版本进行的一些对比: 变化1:SolrServer变成了SolrClient 应该说这个变化是合理的,毕竟Solrj就是一个客户端,命名为Server本身就有...
  • Docker容器gitlab版本升级

    千次阅读 2020-04-25 11:28:11
    Docker容器gitlab版本升级 参考文档 https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations 11.11.8 is the last version in version 11. 12.0.x is a required step. 版本升级路线 11.11...
  • QEMU版本升级

    千次阅读 2019-04-23 11:17:58
    QEMU版本升级卸载QEMU依赖包安装源码下载及编译安装创建链接版本检查 部署环境:CentOS7.6 原QEMU版本:1.5.3 目标QEMU版本:3.1.0 卸载QEMU [root@Dell ~]# yum -y remove qemu-kvm 由于有依赖的关系,除了卸掉...
  • Linux-tomcat版本升级

    千次阅读 2020-02-26 17:14:16
    Linux-tomcat版本升级:version8.5.16升至version8.5.51 1.下载需要升级的tomcat新版本 [root@izwz91l1b684105z37o7uqz data]# wget ...
  • vue版本升级 2.9.6升级到3.0

    千次阅读 2020-03-30 09:54:15
    npm uninstall -g vue-cli npm install -g @vue/cli
  • android版本升级完整代码

    热门讨论 2012-07-09 16:30:42
    android软件的版本升级,自动检测版本号,并提示升级信息!
  • adb版本升级

    千次阅读 2020-03-19 12:20:51
    1、下载最新版本 去android官网下载platform-tools的最新版本 2、将下载下包中的以下几个文件放在androidsdk的platform-tools中,替换原有的文件 adb.exe AdbWinApi.dll AdbWinUsbApi.dll 3、记得配置好环境变量,将...
  • MySQL的升级相对来说还是比较简单的。 它支持两种方式的升级: 原地升级(In-place Upgrade) 关闭数据库,替换旧的二进制文件,重启数据库,执行mysql_upgrade 逻辑升级(Logical Upgrade) 用mysqldump导出数据,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 730,957
精华内容 292,382
关键字:

版本升级