中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

配置部署环境

安装部署前需进行环境配置,主要包括配置下载源、关闭防火墙、配置主机名、配置NTP(Network Time Protocol)、配置免密登录和关闭SELinux等操作。

配置下载源

  1. 在所有服务端节点确认openEuler源。
    1. 确认“openEuler.repo”文件和openEuler源对应。
      vi /etc/yum.repos.d/openEuler.repo
      • openEuler 20.03源如下所示。
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        [OS]
        name=OS
        baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/
        enabled=1
        gpgcheck=0
        gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler
        
        [everything]
        name=everything
        baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/$basearch/
        enabled=1
        gpgcheck=0
        gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/$basearch/RPM-GPG-KEY-openEuler
        
        [EPOL]
        name=EPOL
        baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/EPOL/$basearch/
        enabled=1
        gpgcheck=0
        gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler
        
        [debuginfo]
        name=debuginfo
        baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/debuginfo/$basearch/
        enabled=1
        gpgcheck=0
        gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/debuginfo/$basearch/RPM-GPG-KEY-openEuler
        
        [source]
        name=source
        baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/source/
        enabled=1
        gpgcheck=0
        gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/source/RPM-GPG-KEY-openEuler
        
        [update]
        name=update
        baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/$basearch/
        enabled=1
        gpgcheck=0
        gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler
        
      • openEuler 22.03源如下所示。
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        [OS]
        name=OS
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/OS/$basearch/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler
        
        [everything]
        name=everything
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/everything/$basearch/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/everything/$basearch/RPM-GPG-KEY-openEuler
        
        [EPOL]
        name=EPOL
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/EPOL/main/$basearch/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler
        
        [debuginfo]
        name=debuginfo
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/debuginfo/$basearch/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/debuginfo/$basearch/RPM-GPG-KEY-openEuler
        
        [source]
        name=source
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/source/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/source/RPM-GPG-KEY-openEuler
        
        [update]
        name=update
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/update/$basearch/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler
        
        [update-source]
        name=update-source
        baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/update/source/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP1/source/RPM-GPG-KEY-openEuler
        
    2. 确认无误后输入:q!并按“Enter”键退出文件。
  2. 在所有节点将编译Ceph安装包编译出的使能KSAL后的Ceph RPM包配置为本地源。
    1. 创建并进入“ceph-ksal”路径。
      mkdir -p /home/ceph-ksal
      cd /home/ceph-ksal
    2. 编译Ceph安装包编译出RPM包放置在“ceph-ksal”路径下并解压。
      cp /home/rpmbuild/RPMS/ceph-ksal-rpm.tar.gz /home/ceph-ksal
      tar -zxvf ceph-ksal-rpm.tar.gz
    3. 创建本地源。
      createrepo .
    4. 打开“local.repo”文件。
      vi /etc/yum.repos.d/local.repo
    5. “i”进入编辑模式,在文件末尾添加如下内容。
      [ceph-spdk]
      name=ceph-ksal
      baseurl=file:///home/ceph-ksal
      enabled=1
      gpgcheck=0
      priority=1
    6. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  3. 在所有节点将pip源配置为华为镜像源,提高下载速度。
    1. 新建“.pip”路径并在路径下创建“pip.conf”文件。
      1
      2
      mkdir -p ~/.pip
      vi ~/.pip/pip.conf
      
    2. “i”进入编辑模式,添加如下内容。
      1
      2
      3
      4
      [global]
      timeout = 120
      index-url = https://repo.huaweicloud.com/repository/pypi/simple
      trusted-host = repo.huaweicloud.com
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

关闭防火墙

Linux系统默认开启的防火墙安全机制会阻止各组件之间的正常连接,导致无法正常部署Ceph集群。这是Linux OS本身的行为,鲲鹏BoostKit分布式存储KSAL并不对此提供的详细解决方案。如果客户想在自己的系统中开启防火墙,则需要自行寻找解决方法。

针对此限制,本文提供了快速关闭防火墙的方法。鲲鹏BoostKit分布式存储KSAL特性中, Host OS 不在交付范围内,提供的防火墙配置方法仅供参考,不是商用交付的一部分,不做商用承诺。如果商用,需自行评估并承担相应风险。

关闭防火墙可能会导致安全问题,如果客户最终的解决方案本身就没有规划启用防火墙,则建议通过端到端的整体方案来弥补防火墙禁用带来的风险,且需自行承担安全风险。如果客户有开启防火墙的需求,则建议对防火墙进行细粒度的规则配置,根据实际使用情况,开放对应的端口、协议,并保证整个系统的安全。

以下命令仅关闭当前节点防火墙,需在所有节点依次执行。
1
2
3
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

配置主机名

配置永久静态主机名,建议将服务端节点配置为ceph1~ceph3,客户端节点配置为client1~client3。

  1. 配置节点名称。
    1. 为ceph1节点配置。
      1
      hostnamectl --static set-hostname ceph1
      
    2. 参照1.a依次为ceph2和ceph3节点配置。
    3. 为client1节点配置。
      1
      hostnamectl --static set-hostname client1 
      
    4. 参照1.c依次为client2和client3节点配置。
  2. 在所有节点修改域名解析文件。
    1. 打开文件。
      1
      vi /etc/hosts
      
    2. “i”键进入编辑模式,在文件中加入以下内容。
      1
      2
      3
      4
      5
      6
      192.168.3.166   ceph1 
      192.168.3.167   ceph2
      192.168.3.168   ceph3
      192.168.3.160   client1 
      192.168.3.161   client2 
      192.168.3.162   client3
      
      • IP地址为集群规划中所规划的IP地址,仅为示例,请根据实际情况进行修改。可通过ip a命令查询实际IP地址。
      • 本文规划集群为三台服务端节点和三台客户端节点,请根据实际节点数量对文件内容进行调整。
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

配置NTP

Ceph中会自动校验集群节点之间的时间,若不同节点之间时差较大,会产生告警,因此需要在各节点间配置时钟同步。

  1. 在所有节点安装NTP服务。
    yum -y install ntp ntpdate
  2. 在所有节点备份旧配置。
    1
    cd /etc && mv ntp.conf ntp.conf.bak
    
  3. 将ceph1配置为NTP服务端节点。
    1. 在ceph1新建NTP配置文件。
      1
      vi /etc/ntp.conf
      
    2. “i”键进入编辑模式,新增如下内容。
      1
      2
      3
      4
      5
      restrict 127.0.0.1 
      restrict ::1 
      restrict 192.168.3.0 mask 255.255.255.0
      server 127.127.1.0 
      fudge 127.127.1.0 stratum 8
      

      以上文件中,“restrict 192.168.3.0 mask 255.255.255.0”是ceph1所在的Public网段IP地址与掩码。

    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  4. 将除ceph1以外的其他所有节点配置为NTP客户端节点。
    1. 在除ceph1以外的其他所有节点新建NTP文件。
      1
      vi /etc/ntp.conf
      
    2. “i”键进入编辑模式,新增如下内容。此处输入的IP地址为ceph1的IP地址。
      1
      server 192.168.3.166 
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  5. 启动NTP服务。
    1. 在ceph1节点启动NTP服务,并检查状态。
      1
      2
      3
      systemctl start ntpd.service
      systemctl enable ntpd.service 
      systemctl status ntpd.service
      

      回显如下所示。

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      [root@ceph1 ~]# systemctl start ntpd.service
      [root@ceph1 ~]# systemctl enable ntpd.service
      [root@ceph1 ~]# systemctl status ntpd.service ntpd.service - Network Time Service
         Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
         Active: active (running) since Fri 2023-09-01 10:14:56 CST; 8s ago
       Main PID: 129667 (ntpd)
          Tasks: 2
         Memory: 3.5M
         CGroup: /system.slice/ntpd.service
                 └─129667 /usr/sbin/ntpd -u ntp:ntp -g
      
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listen normally on 4 bond2 192.168.2.128:123
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listen normally on 5 bond1 192.168.1.128:123
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listen normally on 6 lo [::1]:123
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listen normally on 7 enp125s0f0 [fe80::5d5a:faa4:75a4:4afa%2]:123
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listen normally on 8 bond2 [fe80::a975:9916:4607:a50b%12]:123
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listen normally on 9 bond1 [fe80::147b:9453:cfc0:d19f%13]:123
      Sep 01 10:14:56 ceph1 ntpd[129667]: Listening on routing socket on fd #26 for interface updates
      Sep 01 10:14:56 ceph1 ntpd[129667]: kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized
      Sep 01 10:14:56 ceph1 ntpd[129667]: kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized
      Sep 01 10:14:56 ceph1 systemd[1]: Started Network Time Service.
      
    2. NTP服务启动后等待5分钟,在除ceph1的所有节点强制同步NTP服务端(ceph1)时间。
      1
      ntpdate ceph1 
      
    3. 在除ceph1的所有节点写入硬件时钟,避免重启后失效。
      1
      hwclock -w 
      
    4. 在除ceph1的所有节点安装并启动crontab工具。
      1
      2
      3
      4
      yum install -y crontabs
      systemctl enable crond.service
      systemctl start crond.service
      crontab -e 
      
    5. “i”键进入编辑模式,添加以下内容,每隔10分钟自动与ceph1同步时间。
      1
      */10 * * * * /usr/sbin/ntpdate 192.168.3.166
      
    6. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

配置免密登录

  1. 在ceph1节点生成公钥。
    ssh-keygen -t rsa

    “Enter”键使用默认配置。

  2. 在ceph1节点将公钥发放至集群其他节点。
    for i in {1..3};do ssh-copy-id ceph$i;done
    for i in {1..3};do ssh-copy-id client$i;done

    根据提示确认操作并输入节点root密码。

关闭SELinux

Linux系统默认开启的SELinux安全机制会阻止各组件之间的正常连接,导致无法正常部署Ceph集群。这是Linux OS本身的行为,鲲鹏BoostKit分布式存储使能套件并不对此提供的详细解决方案。如果客户想在自己的系统中使用SELinux,则需要自行寻找解决方法。

针对此限制,我们提供了快速禁用SELinux的方法。鲲鹏BoostKit分布式存储使能套件中,提供的SELinux配置方法仅供参考,需客户自行评估并承担相应风险。

禁用SELinux可能会导致安全问题,如果客户最终的解决方案本身就没有规划启用SELinux,则建议通过端到端的整体方案来弥补SELinux关闭带来的风险,且需自行承担安全风险。如果客户有SELinux的需求,则建议根据实际的SELinux问题进行细粒度的规则配置,并保证整个系统的安全。

在所有节点关闭SELinux。

  • 方式一:临时关闭,重启服务器后失效。
    setenforce permissive
  • 方式二:永久关闭,下一次重启服务器自动生效。
    1. 打开config文件。
      1
      vi /etc/selinux/config
      
    2. “i”键进入编辑模式,修改SELINUX=permissive
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      [root@ceph1 ~]# cat /etc/selinux/config 
      
      # This file controls the state of SELinux on the system.
      # SELINUX= can take one of these three values:
      #     enforcing - SELinux security policy is enforced.
      #     permissive - SELinux prints warnings instead of enforcing.
      #     disabled - No SELinux policy is loaded.
      SELINUX=permissive 
      # SELINUXTYPE= can take one of these three values:
      #     targeted - Targeted processes are protected,
      #     minimum - Modification of targeted policy. Only selected processes are protected. 
      #     mls - Multi Level Security protection.
      SELINUXTYPE=targeted
      
    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词