メインコンテンツへ移動

ARM版マニュアルインストール・デプロイ手順

このドキュメントでは、CentOS/RedHatシステムでのデプロイ例を示します。他にも麒麟V10や華為Eulerなどのシステムでも参考にできます。Debian系との違いは別途記載しています。

環境準備​

  1. 最低構成要件を満たすLinuxサーバーを用意してください:8コア・32G RAM・データディスク40G(システムディスクを除く)。推奨サーバーをご参照ください。ポート8880、38880、38881 が占有されていないことを確認してください。
  2. rootユーザーでサーバーにログインします。
  3. サーバーにデータディスクがある場合は、デプロイ前に /data ディレクトリへマウントしてください。または、インストール時にデータのデフォルト保存パスをデータディスクのマウントパスへ変更してください。
  4. Firewalldを停止してください(Debian/Ubuntuでは標準でインストールされていないため、この手順は省略できます。)
    systemctl stop firewalld && systemctl disable firewalld
  5. SELinuxを停止してください(Debian/Ubuntuでは標準で有効になっていないため、この手順は省略できます。)
    setenforce 0
    sed -i s/"^SELINUX=.*$"/"SELINUX=disabled"/g /etc/selinux/config
  6. MaxMapCountの調整
    sysctl -w vm.max_map_count=262144
    grep -q '^vm.max_map_count' /etc/sysctl.d/99-sysctl.conf && sed -i 's/^vm.max_map_count.*/vm.max_map_count=262144/' /etc/sysctl.d/99-sysctl.conf || echo 'vm.max_map_count=262144' >> /etc/sysctl.d/99-sysctl.conf
  7. SysFileNrの調整
    sysctl -w fs.file-max=2048000
    grep -q '^fs.file-max' /etc/sysctl.d/99-sysctl.conf && sed -i 's/^fs.file-max.*/fs.file-max=2048000/' /etc/sysctl.d/99-sysctl.conf || echo 'fs.file-max=2048000' >> /etc/sysctl.d/99-sysctl.conf
  8. IPv4Forwardの調整
    sysctl -w net.ipv4.ip_forward=1
    grep -q '^net.ipv4.ip_forward' /etc/sysctl.d/99-sysctl.conf && sed -i 's/^net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.d/99-sysctl.conf || echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.d/99-sysctl.conf
  9. OSがDebian 10以上の場合は、まず iptables --version コマンドでiptablesの有無を確認してください。 存在しない場合はインストールが必要です。参考コマンド(サーバーがインターネット接続できる必要があります):
    apt-get update
    apt install -y iptables

Dockerインストール​

  1. インストールパッケージをダウンロードします 
    wget https://pdpublic.nocoly.com/offline/common/arm64/docker--.tgz
  2. パッケージを解凍し、バイナリファイルディレクトリへ移動します
    tar -zxvf docker--.tgz
    mv -f docker/* /usr/local/bin/
  3. docker設定ファイルの作成  デフォルトのdockerデータディレクトリは /data/docker です。データディレクトリを変更する場合は、設定ファイルの data-root を変更してください。
    mkdir -p /etc/docker/
    cat > /etc/docker/daemon.json <<EOF
    {
    "registry-mirrors": ["https://uvlkeb6d.mirror.aliyuncs.com"],
    "data-root": "/data/docker",
    "max-concurrent-downloads": 10,
    "exec-opts": ["native.cgroupdriver=cgroupfs"],
    "storage-driver": "overlay2",
    "default-address-pools":[{"base":"172.80.0.0/16","size":24}]
    }
    EOF
  4. systemdによるdocker管理の設定
    cat > /etc/systemd/system/docker.service <<EOF
    [Unit]
    Description=Docker
    After=network-online.target
    Wants=network-online.target
    [Service]
    Type=notify
    ExecStart=/usr/local/bin/dockerd
    ExecReload=/bin/kill -s HUP \$MAINPID
    LimitNOFILE=102400
    LimitNPROC=infinity
    LimitCORE=0
    TimeoutStartSec=0
    Delegate=yes
    KillMode=process
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
    [Install]
    WantedBy=multi-user.target
    EOF
  5. dockerを起動します
    systemctl daemon-reload && systemctl start docker && systemctl enable docker

単体インストール​

  1. イメージをダウンロードします(オフラインパッケージ)

    docker pull nocoly/hap-arm64:-
    docker pull nocoly/sc-arm64:-
    docker pull nocoly/command-arm64:-
    docker pull nocoly/doc-arm64:-
  2. マネージャープログラムのダウンロード

    wget https://pdpublic.nocoly.com/-/hap_captain_linux_arm64.tar.gz
  3. ディレクトリの作成およびマネージャープログラムの解凍

    mkdir /usr/local/MDPrivateDeployment/
    tar -zxvf hap_captain_linux_arm64.tar.gz -C /usr/local/MDPrivateDeployment/
  4. マネージャープログラムのディレクトリへ移動し、プログラムを起動します

    cd /usr/local/MDPrivateDeployment/
    bash ./service.sh start
  5. 起動後、ブラウザで http://{サーバーIP}:38881 にアクセスしてシステムのアクセスアドレスを設定し、HAP製品を選択して初期化してください(初期化には約5分かかります)。

  6. デプロイ完了後は、起動時の自動起動設定を参考に、サービスの自動起動を設定することを推奨します。