(一)环境准备

2023-04-26 11:19:08 浏览数 (2)

华为鲲鹏服务器-学习笔记(基本命令和Docker部分)

https://easydoc.net/s/54024151/YdjAf8qr/tM5I6C7b


前言

1、Docker能解决开发、测试、部署环节中的环境一致性问题(所以推荐Docker方式搭建系统环境,且将来可使用K8S实现负载)

2、Docker的安装需要采用内网离线方式部署,大家要明白,实际的生产环境的服务器或者桌面PC是不可以接入互联网的,所以我们在一开始就尽可能要想办法将系统的各种依赖都在本地处理好,通过存储介质交换至目标设备上,尽可能的不使用git和yum方式安装拉取外网资源依赖,不然将来实施人员无法按照手册操作实施。

第一章 环境准备部分

一、华为鲲鹏服务器的远程连接

==(核心目的:指导开发人员和实施维护人员远程登录华为鲲鹏服务器)==

华为鲲鹏创新中心旗舰店

https://ic-openlabs.huawei.com/

https://uniportal.huawei.com/

资料获取:

操作指导书:参见 《环境使用指导书》

下载地址:

https://ic-openlabs.huawei.com/client/#/knowledge/details?id=M1T1S1584N703617168035049672&type=1

参考文档:

《6_鲲鹏创新中心旗舰店环境使用指导书》

实操步骤:

连接要求

● 用户本地安装好UniVPN软件,参考6 用户本地搭建VPN环境(参考)

● 用户本地安装好ssh终端远程工具,推荐使用MobaXterm。参考下载链接:

https://mobaxterm.mobatek.net/

● 配置VPN连接。参考环境信息表完成登录。

==Step1:==

先去【参考链接&安装包下载:https://www.leagsoft.com/doc/article/103107.html】下载UniVPN这个软件

我这边下载的是windows版本,软件版本信息:10781.12.0.0328

介质为:

univpn-win-full-10781.7.1.0131-siged.zip --------------- size:30MB

该网站提供windows版本和Linux版本,小伙伴们可以根据各自环境获取VPN软件介质

===========================

解压《附件打包.rar》中《环境信息表-XXXXXXXXXX.xlsx》

录入:Excel文档中VPN账户管理相关信息到UniVPN配置界面中,

按照参考文档:《6_鲲鹏创新中心旗舰店环境使用指导书》中第7页所述:【2.1.2 L2TP over IPsec 登录(方案二)】“导入配置”(*.ini文件),后将UniVPN与华为鲲鹏创新中心旗舰店的网络建立 VPN 连接,软件状态为:登录成功,电脑托盘处提示,协商成功,即可。

==Step2:==

再去https://mobaxterm.mobatek.net/官网下载(MobaXterm),ssh终端远程工具,如果下载不了的可以尝试这个地址:

软件获取地址:

https://www.webra.top/sites/249.html

蓝奏云地址:

https://webra.lanzoux.com/b0e9axoof 提取密码:webra

介质为:

MobaXterm_Installer_v22.1.zip --------------- size:26.6MB

===========================

按照参考文档:《6_鲲鹏创新中心旗舰店环境使用指导书》中第10页所述:2.3 登录裸金属服务器】"输入管理IP、用户名、密码,点击确定登录成功。"

===========================

==资源分配说明:==

171.3.33.33给瀚高,Docker(镜像包括:瀚高、金仓、达梦、PostgreSQL、MariaDB、Spring Boot、Redis、Maven、Elasticsearch、pnpm、 Yarn1.x、Node.js 和 Git)

171.3.33.34给金仓,

171.3.33.35给达梦,


二、基本命令-实操部分(获取当前服务器的架构信息)

==(核心目的:获取当前服务器的架构信息以及了解银河麒麟相关扩展命令)==

2.1、获取当前服务器的架构信息

Q:如何查看CPU信息

A:使用以下命令中的一个能查到即可:

代码语言:txt复制
$ lscpu
代码语言:txt复制
$ cat /proc/cpuinfo

运行效果

代码语言:txt复制
[root@DC1-03-001 etc]# lscpu
Architecture:                    aarch64
CPU op-mode(s):                  64-bit
Byte Order:                      Little Endian
CPU(s):                          96
On-line CPU(s) list:             0-95
Thread(s) per core:              1
Core(s) per socket:              48
Socket(s):                       2
NUMA node(s):                    4
Vendor ID:                       HiSilicon
Model:                           0
Model name:                      Kunpeng-920
Stepping:                        0x1
CPU max MHz:                     2600.0000
CPU min MHz:                     200.0000
BogoMIPS:                        200.00
L1d cache:                       6 MiB
L1i cache:                       6 MiB
L2 cache:                        48 MiB
L3 cache:                        96 MiB
NUMA node0 CPU(s):               0-23
NUMA node1 CPU(s):               24-47
NUMA node2 CPU(s):               48-71
NUMA node3 CPU(s):               72-95
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
[root@DC1-03-001 etc]#

Q:如何获取麒麟系统版本信息

A:使用以下命令中的一个能查到即可:

代码语言:txt复制
   1)桌面版系统:
代码语言:txt复制
         $ cat /etc/kylin-build
代码语言:txt复制
         $ cat /etc/.kyinfo
代码语言:txt复制
         $ cat /etc/kylin-release
代码语言:txt复制
  2)服务器版系统:
代码语言:txt复制
         $ cat /etc/.productinfo
代码语言:txt复制
         $ nkvers

运行效果

代码语言:txt复制
[root@DC1-03-001 etc]# cat /etc/.productinfo
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-aarch64-Build04/20200711
[root@DC1-03-001 etc]# nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Tercel)

Kernel:
4.19.90-17.ky10.aarch64

Build:
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-aarch64-Build04/20200711
#################################################
[root@DC1-03-001 etc]#

Q:如何获取系统架构信息

A:使用以下命令中的一个能查到即可:

代码语言:txt复制
   $ uname -a
代码语言:txt复制
   $ arch

运行效果

代码语言:txt复制
[root@DC1-03-001 etc]# uname -a
Linux DC1-03-001 4.19.90-17.ky10.aarch64 #1 SMP Sun Jun 28 14:27:40 CST 2020 aarch64 aarch64 aarch64 GNU/Linux
[root@DC1-03-001 etc]# arch
aarch64
[root@DC1-03-001 etc]#

linux清屏命令

代码语言:txt复制
   $ clear

==总结:本文使用的服务器架构是aarch64(华为鲲鹏-裸金属服务器)==


2.2、知识扩展 :Arm64 和 AArch64 的区别

结论

结论:现在AArch64 and ARM64 都是指代的同一个东西。

ARM 简要介绍

ARM是一种精简指令集(RISC)架构。

指令集架构(Instruction Set Architecture)是指一种类型CPU中用来计算和控制计算机系统的一套指令的集合。

ARM设计了多种不同的版本。知道ARMv7,都只支持32位处理器(寻址空间)。

2011年发布的ARMv8添加了对64位处理器的支持并且兼容32位。

arm64 和 aarch64

总而言之,就是由于历史原因,一部分人管 64-bit ISA 叫 aarch64,一部分人又觉得叫 arm64 更好。

详情可以看Stack Overflow的这篇回答:Differences between arm64 and aarch64 以及 ARM的维基百科介绍。

————————————————

版权声明:本文为CSDN博主「DaydreamHippo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/DaydreamHippo/article/details/128115751


三、基本命令-实操部分(统一命名规范、Linux基本命令)

== (核心目的:创建有含义有规律的文件夹便于后期维护人员统一找到前面工程师留下的资源)==

3.1、统一命名规范

3.1.1、约定路径
代码语言:txt复制
[/root]    表示:系统root根目录
3.1.2、约定目录
代码语言:txt复制
[docker_stable]    表示:Docker稳定版本介质存放位置
代码语言:txt复制
[docker_img]       表示:Docker镜像文件介质存放位置
3.1.3、约定目录
代码语言:txt复制
 [highgo]   表示:瀚高数据库
代码语言:txt复制
 [dameng]   表示:达梦数据库
代码语言:txt复制
 [kingbase] 表示:金仓数据库
代码语言:txt复制
 [arm]      表示:arm架构镜像
代码语言:txt复制
 [x86]      表示:x86架构镜像

我的目录结构参考:

代码语言:txt复制
[root@DC1-03-001 ~]# pwd
/root
[root@DC1-03-001 ~]# tree
.
├── anaconda-ks.cfg
├── cobbler.ks
├── cpupower
├── docker_img
│   ├── dameng
│   │   ├── arm
│   │   │   └── dm8_20230104_HWarm_centos7_64.zip
│   │   └── x86
│   │       └── dm8_20220822_rev166351_x86_rh6_64_ctm.tar
│   ├── highgo
│   │   ├── arm
│   │   │   └── hgdb-docker-arm.tar
│   │   └── x86
│   │       └── hgdb-docker.tar
│   └── kingbase
│       ├── arm
│       │   └── kdb_kylinv10_aarch_v8r6c07b012.tar
│       └── x86
│           ├── kdb_case_insensitive_x86_64_v8r6c7b012.tar
│           └── kdb_case_sensitive_x86_64_v8r6c7b012.tar
├── docker_stable
│   └── aarch64
│       ├── docker
│       │   ├── containerd
│       │   ├── containerd-shim
│       │   ├── ctr
│       │   ├── docker
│       │   ├── dockerd
│       │   ├── docker-init
│       │   ├── docker-proxy
│       │   └── runc
│       ├── docker-19.03.8.tgz
│       ├── docker-23.0.3.tgz
│       ├── docker-rootless-extras-19.03.8.tgz
│       └── docker-rootless-extras-23.0.3.tgz
├── java-11-openjdk-11.0.8.tar.gz
├── ks-post.log
├── ks-pre.log
├── original-ks.cfg

3.2、Linux基本命令

Q:如何在Linux系统创建目录 A:使用以下命令中即可:

mkdir (创建新目录)

代码语言:txt复制
   $ mkdir  test
代码语言:txt复制
   $ mkdir  -m 711 docker_img

==说明:目录docker_img统一存放docker的镜像文件,方便后面维护的工程师找资源,统一目录名称==

教程网址:https://www.runoob.com/linux/linux-file-content-manage.html

代码语言:txt复制
[root@DC1-03-001 ~]#  mkdir  test
[root@DC1-03-001 ~]#  mkdir  -m 711 docker_img
[root@DC1-03-001 ~]# pwd
/root
[root@DC1-03-001 ~]#  ls -l
total 76
-rw------- 1 root root  9134 Apr 10 07:56 anaconda-ks.cfg
-rw-r--r-- 1 root root  8356 Apr 10 07:56 cobbler.ks
-rw------- 1 root root  1526 Apr 12 08:17 cpupower
drwx--x--x 2 root root  4096 Apr 12 08:28 docker_img
-rw-r--r-- 1 root root     0 Apr 10 07:56 java-11-openjdk-11.0.8.tar.gz
-rw-r--r-- 1 root root 11209 Apr 10 07:56 ks-post.log
-rw-r--r-- 1 root root  2896 Apr 10 07:54 ks-pre.log
-rw------- 1 root root  8356 Apr 10 07:56 original-ks.cfg
drwx------ 2 root root  4096 Apr 11 07:08 test
-rw------- 1 root root  6533 Apr 10 00:05 zabbix.log
-rw------- 1 root root    65 Apr 11 07:07 测试-MobaXterm服务器上传下载文件.txt
[root@DC1-03-001 ~]#

说明:

如果我们使用 -m ,如上例我们给予 -m 711 来给予新的目录 drwx--x--x 的权限

否则,如:test目录的权限就只有 drwx------ 的权限

https://www.runoob.com/wp-content/uploads/2014/06/363003_1227493859FdXT.png

imageimage
代码语言:txt复制
   $ cd /root/docker_img/国产数据库厂家目录/
代码语言:txt复制
   $ mkdir  -m 711 arm
代码语言:txt复制
   $ mkdir  -m 711 x86

分别创建arm架构和x86架构下的目录,运行效果如下:

代码语言:txt复制
[root@DC1-03-001 ~]# cd docker_img/
[root@DC1-03-001 docker_img]#  mkdir  -m 711 highgo
[root@DC1-03-001 docker_img]#  mkdir  -m 711 dameng
[root@DC1-03-001 docker_img]#  mkdir  -m 711 kingbase
[root@DC1-03-001 docker_img]# cd highgo/
[root@DC1-03-001 highgo]#  mkdir  -m 711 arm
[root@DC1-03-001 highgo]#  mkdir  -m 711 x86
[root@DC1-03-001 highgo]# cd /root/docker_img/dameng/
[root@DC1-03-001 dameng]#  mkdir  -m 711 arm
[root@DC1-03-001 dameng]#  mkdir  -m 711 x86
[root@DC1-03-001 dameng]# cd /root/docker_img/kingbase/
[root@DC1-03-001 kingbase]#  mkdir  -m 711 arm
[root@DC1-03-001 kingbase]#  mkdir  -m 711 x86
[root@DC1-03-001 kingbase]#

3.3、知识扩展 :Linux下使用tree命令查看目录结构(非必要)

Linux下的文件虽然是层次型组织结构的,但是我们平时登录到主机上的时候都是使用的各种shell并没有图形界面,看上去很不直观,Linux下有个小命令叫做tree,可以以目录树的形式显示文件结构,类似于Windows下的tree。

如果没有安装的话使用:

代码语言:txt复制
   $ yum install tree

效果如下:

代码语言:txt复制
[root@DC1-03-001 docker_img]# cd /root/docker_img/
[root@DC1-03-001 docker_img]# tree
.
├── dameng
│   ├── arm
│   └── x86
├── highgo
│   ├── arm
│   └── x86
└── kingbase
    ├── arm
    └── x86

9 directories, 0 files
[root@DC1-03-001 docker_img]#

==说明:目录docker_img统一存放docker的镜像文件,方便后面维护的工程师找资源,统一目录名称==

代码语言:txt复制
 [highgo]   表示:瀚高数据库
代码语言:txt复制
 [dameng]   表示:达梦数据库
代码语言:txt复制
 [kingbase] 表示:金仓数据库
代码语言:txt复制
 [arm]      表示:arm架构镜像
代码语言:txt复制
 [x86]      表示:x86架构镜像

三、从百度网盘下载三大国产数据库的Docker镜像文件

==请按需下载,资料总计55.4GB, (可以只下载需要的架构镜像文件即可)==

百度网盘

链接:https://pan.baidu.com/s/1cHGKrqs4-Zi33VXKLZNXhQ

提取码:2023

温馨提醒:镜像文件通常2gb-3gb,下载会非常耗时,提前做好心理准备

百度会员或非会员下载慢的小伙伴,戳这里:

https://www.bilibili.com/video/BV1Xe4y1b7h2/?spm_id_from=333.999.0.0


四、上传三大国产数据库的Docker镜像文件到目标服务器

==请按需下载,资料总计55.4GB,(可以只下载需要的架构镜像文件即可)==

上传Docker镜像文件和Docker的离线部署文件到服务器

==提示:==

如果不清楚如何上传文件到Linux服务器的小伙伴,可以看这里:

【MobaXterm服务器上传下载文件】

https://www.bilibili.com/video/BV1FN4y1T7r7/?spm_id_from=333.788&vd_source=0bc9675b3a70f0c0f28fcd4a0b7da7bf

可安装tree命令工具,查看文件和目录结构,效果如下:

代码语言:txt复制
[root@DC1-03-001 docker_img]# cd /root/docker_img/
[root@DC1-03-001 docker_img]# ls
dameng  highgo  kingbase
[root@DC1-03-001 docker_img]# tree
.
├── dameng
│   ├── arm
│   │   └── dm8_20230104_HWarm_centos7_64.zip
│   └── x86
│       └── dm8_20220822_rev166351_x86_rh6_64_ctm.tar
├── highgo
│   ├── arm
│   │   └── hgdb-docker-arm.tar
│   └── x86
│       └── hgdb-docker.tar
└── kingbase
    ├── arm
    │   └── kdb_kylinv10_aarch_v8r6c07b012.tar
    └── x86
        ├── kdb_case_insensitive_x86_64_v8r6c7b012.tar
        └── kdb_case_sensitive_x86_64_v8r6c7b012.tar

9 directories, 7 files
[root@DC1-03-001 docker_img]#

温馨提示:

本次服务器环境为华为鲲鹏裸金属服务器,本文使用的服务器架构是aarch64,其实就是arm版本

所以:大家只用上传arm架构对应的镜像文件即可,达梦的arm镜像文件好像不对,我下来在协调

注意事项:

使用MobaXterm的SSH(SFTP)上传镜像文件挺慢的,我这边可能是走的VPN(UniVPN),所以上传速率最高只有2mb左右,一个2GB的镜像文件,至少传输半小时以上,而且不支持断点续传,会出现中断后重新传输的情况,大家要有心理准备

0 人点赞