
# 准备资源
#### 概述
在使用边缘版多活实例前，需要准备虚拟机资源、安装Docker、挂载磁盘，以及检查虚拟机与MAS侧的端口是否连通。
虚拟机资源准备有以下两种场景，您可以根据实际场景准备虚拟机资源。
- [首次创建多活实例]，需要根据MAS实例资源要求申请新的虚拟机。
- 在已创建过多活实例且实例已删除的虚拟机上[重新创建多活实例]。
 
 #### 准备依赖资源（首次创建多活实例）
1. 准备虚拟机资源 在创建边缘版多活实例前，您可根据实际需要准备虚拟机资源，具体要求见下表。
   
   | **实例规格** | **虚拟机数量（台）** | **CPU** | **内存（G）** | **磁盘io（读+写）** **（** **MB/s** **）** | **系统盘（G）** | **数据盘（G）** | **系统架构** | **网络带宽性能**                                                                                                                       |
   |:---|:---|:---|:---|:---|:---|:---|:---|:---|
   | 主多活分区    | 3            | \>=8    | \>=16     | \>=350                             | \>=100     | \>=100     | x86_64架构 | 安装时带宽： \>=10MByte/s 运行时带宽： \>=5Mbit/s  |
   | 备多活分区    | 3            | \>=8    | \>=16     | \>=350                             | \>=100     | \>=100     | x86_64架构 | 安装时带宽： \>=10MByte/s 运行时带宽： \>=5Mbit/s |
      
   
2. 安装Docker并启动运行 Docker版本必须高于17.06，推荐使用18.06.3版本。请勿使用18.09.0版本Docker，如果已使用此版本，请尽快升级。
   Docker安装完成后，可以执行如下命令检查Docker是否安装正常。
   ```
   # docker -v
   ```
   回显如下则说明安装正常。
   ```
   Docker version 18.06.3, build 48a66213fee
   ```
   重启Docker并查看Docker是否运行成功。
   ```
   systemctl enable docker
   systemctl restart docker
   docker ps
   ```
   回显如下则说明Docker运行成功。
   ```
   CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
   ```
   

3. 磁盘挂载 以下操作需在每台虚拟机上都执行。
   1. 以root用户登录待挂载虚拟机。
   
   2. 查看磁盘情况。
      ```
      fdisk -l
      ```
      系统显示如下信息，表示系统有一个空间为500G的磁盘，盘符为/dev/vdb，请将磁盘/dev/vdb挂载到/opt/cloud/mas目录。
      ```
      Disk /dev/vda: 500 GiB, 136870912000 bytes, 1048576000 sectors 
      Units: sectors of 1 * 512 = 512 bytes 
      Sector size (logical/physical): 512 bytes / 512 bytes 
      I/O size (minimum/optimal): 512 bytes / 512 bytes 
      Disklabel type: dos 
      Disk identifier: 0x00027c9e  
      Device     Boot     Start        End   Sectors  Size Id Type 
      /dev/vda1  *         2048    2105343   2103296    1G 83 Linux 
      /dev/vda2         2105344   18876415  16771072    8G 8e Linux LVM 
      /dev/vda3        18876416   62914559  44038144   21G 8e Linux LVM   
      Disk /dev/vdb: 500.0 GB, 536870912000 bytes, 
      255 heads, 63 sectors/track, 437314 cylinders 
      Units = cylinders of 16065 * 512 = 8225280 bytes  
      Disk identifier: 0x00000000   
      Disk /dev/vda doesn't contain a valid partition table   
      Disk /dev/mapper/root-root: 21 GiB, 22540189696 bytes, 44023808 sectors 
      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 /dev/mapper/swap-swap: 8 GiB, 8581545984 bytes, 16760832 sectors 
      Units: sectors of 1 * 512 = 512 bytes 
      Sector size (logical/physical): 512 bytes / 512 bytes 
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      ```
      
   
   
   
   3. 格式化磁盘。
      ```
      mkfs.ext4 /dev/vdb
      ```
      
   
   4. 建立挂载目录。
      ```
      mkdir /opt/cloud/mas
      ```
      
   
   5. 将磁盘挂载到指定目录。
      ```
      mount /dev/vdb /opt/cloud/mas
      ```
      
   
   6. 配置磁盘分区自动挂载。
      ```
      vi /etc/fstab
      ```
      增加如下配置：
      ```
      /dev/vdb                    /opt/cloud/mas           ext4       defaults              0 0
      ```
      
   
   7. 查看挂载是否成功。
      ```
      df -hT
      ```
      系统显示如下内容表示挂载成功。
      ```
      Filesystem            Type      Size  Used Avail Use% Mounted on 
      devtmpfs              devtmpfs   16G  8.0K   16G   1% /dev 
      tmpfs                 tmpfs      16G   80K   16G   1% /dev/shm 
      tmpfs                 tmpfs      16G   18M   16G   1% /run 
      tmpfs                 tmpfs      16G     0   16G   0% /sys/fs/cgroup 
      /dev/mapper/root-root xfs        21G  3.1G   18G  15% / 
      /dev/vda1             ext4      979M   57M  855M   7% /boot 
      tmpfs                 tmpfs     3.2G   16K  3.2G   1% /run/user/483 
      tmpfs                 tmpfs     3.2G     0  3.2G   0% /run/user/0 
      /dev/vdb             ext4      500G   60M  499G   1% /opt/cloud/mas
      ```
      
    

4. 检查端口 用户准备好虚拟机资源后，需要检查虚拟机是否开放了各组件需要的端口，具体端口信息如下：
   端口需要保持内部互通。
   表1各组件开放的端口 
   | **组件**  | **端口**         |
   |:---|:---|
   | ETCD    | 2379、2380      |
   | Monitor | 8011、8099、8873 |
      
   

5. 时间同步 边缘节点时间需要与**UTC+8** 时间保持一致，否则会导致边缘节点的监控数据、日志上传出现偏差。您可以选择合适的NTP服务器进行时间同步，从而保持时间一致。配置方法可参考[如何同步NTP服务器](https://support.huaweicloud.com/ief_faq/ief_faq_0053.html)中的操作步骤。
   
6. 安装增熵软件确保系统可以快速生成安全随机数。 根据操作系统类型安装并启动增熵软件。
   euleros和centos可参考以下方法安装haveged进行增熵：
   ```
   yum install -y haveged
   service haveged start
   systemctl enable haveged
   ```
   
 
 #### 准备依赖资源（重新创建多活实例）
如果您是在已创建过多活实例且实例已删除的虚拟机上重新创建多活实例，则需执行以下操作。
1. 以root用户分别登录所有虚拟机。
2. 执行以下命令清除已删除实例遗留的数据。
   ```
   rm -rf /opt/cloud/mas
   ```
   
 
