RockyLinux 9のインストール、サーバーコンピューターのフォーマット
フォーマット前にディスクを整理 フォルダー容量の確認 ncdu ディスク情報の確認 lsblk lsblk f SSDの最適化 fstrim v / fstrim v /db フォーマットの実行 hdd ext4形式でフォーマット ssd xfs形式でフォーマット まずディスクIDの値を確認する必要がある。 fdisk
フォーマット前にディスクを整理 フォルダー容量の確認 ncdu ディスク情報の確認 lsblk lsblk f SSDの最適化 fstrim v / fstrim v /db フォーマットの実行 hdd ext4形式でフォーマット ssd xfs形式でフォーマット まずディスクIDの値を確認する必要がある。 fdisk
umount /dev/sda wipefs -a /dev/sda mkfs -t ext4 -F /dev/sda
umount /dev/nvme1n1 wipefs -a /dev/nvme1n1 mkfs -t xfs -f /dev/nvme1n1
fuser -m /dev/nvme1n1p1 上記のコマンドを入力すると、使用中かどうかを確認できる。
/dev/nvme1n1: 4975c 5431 5522c 5911 6212c 6834c 6901c 6908c 7125c 7820c 7857c 7858c 7861c 7862c 7863c 8524c 8526c 8527c 8579c 8580c 8582c 2351932c 2351998c 2352089c使用中の場合は、使用中のプロセスを停止する必要がある。
久しぶりにLinux GUIに接続した気がするが、以前よりずっと親切で、使いやすくなったようだ…… 以前はインストールするだけでも複雑で、とても難しかったのに…… とにかく、インストール後の説明をする。
(frankenphpで2MBを超えるアップロードができない問題を発見した、https://github.com/dunglas/frankenphp/pull/122)
Port 22960
systemctl restart sshd
dnf install policycoreutils-python-utils
semanage port -a -t ssh_port_t -p tcp 22960
systemctl restart sshdSELinuxのセキュリティのためにうまくいかないのだが、そもそもなぜコマンドがインストールされていないのか疑問だ。 上記のパッケージをインストールしてから、ポートを登録すればよい。
すると、やはり接続できないはずだが、原因はfirewalldだ。 firewalldはdisabledにする予定だ。ポートを一つずつ開けていく作業そのものがとても面倒だからだ。
systemctl disable firewalldこれで、winscpとputtyを使ってリモート接続できるようになった。
dnf install dnf-plugins-core dnf install epel-release dnf config-manager --set-enabled crb
dnf install vim htop net-tools iputils dnsutils curl wget rsync lsof ncdu which tcpdump unzip lsscsi bash-completion lm_sensors
sensors-detectdnf upgradehostnamectl
Static hostname: (unset)
Transient hostname: server.local
Icon name: computer-desktop
Chassis: desktop 🖥️
Machine ID: ef0aec2ff5ac4a399deb6993fbf760d8
Boot ID: 03c2689afcbe4827b41241c7b8570fc1
Operating System: Rocky Linux 9.3 (Blue Onyx)
CPE OS Name: cpe:/o:rocky:rocky:9::baseos
Kernel: Linux 5.14.0-362.8.1.el9_3.x86_64
Architecture: x86-64
Hardware Vendor: ASUS
Hardware Model: ROG ZENITH II EXTREME ALPHA
Firmware Version: 1802(https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#rhel-9-rocky-9) => (https://github.com/NVIDIA/gds-nvidia-fs/issues/34)
上記のURLの手順に従ってインストールしてはいけない…… nvidia_fs: module using GPL-only symbols uses symbols from proprietary module nvidia. というエラーが発生する……
もしインストールしてしまった場合は、https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#removing-cuda-toolkit-and-driver のURLから削除する。
そして、https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#nvidia-open-gpu-kernel-modules のURLからインストールする。
dnf install tar bzip2 wget make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-devel bind-utils kernel-headers kernel-devel freeglut-devel libX11-devel libXi-devel libXmu-devel mesa-libGLU-devel freeimage-devel glfw-devel
lspci | grep VGA
dnf module install nvidia-driver:open-dkms
reboot
nvidia-smi
nvidia-smi nvlink --status
ここでnvidia Persistenceモードを有効にする。
systemctl enable nvidia-persistenced
systemctl start nvidia-persistenced
追加でHDDとSSDをマウントする必要がある。
lsblk -f
fdisk -l /dev/nvme1n1フォルダーを作成する
mkdir /db
mkdir /dataフォルダーにディスクをマウントする
mount /dev/nvme1n1 /db
mount /dev/sda /data
lsblk -fエラーでマウントできない場合は、以下のコマンドでフォーマットする
wipefs -a /dev/sda mkfs -t ext4 -F /dev/sda
wipefs -a /dev/nvme1n1 mkfs -t xfs -f /dev/nvme1n1
lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda ext4 1.0 b1f8274b-8367-46a3-af7a-9cc6415cebf8 8.6T 0% /data
nvme1n1 xfs 62a1faab-d641-4bc3-bacf-627f1f291c71 922G 1% /db
nvme0n1
├─nvme0n1p1 vfat FAT32 5329-2977 1015M 1% /boot/efi
├─nvme0n1p2 xfs ae7ca155-3a8a-47c8-b971-bcf22da8ac65 1.7G 13% /boot
└─nvme0n1p3 LVM2_member LVM2 001 4SPRzM-DWfn-6ZPo-R7Zf-el9R-pgEX-2bnONK
├─rl_server-root xfs 3c26352e-d02e-4797-acb5-4336ba5d1548 853.3G 1% /
└─rl_server-swap swap 1 96c61fbd-649d-4dec-8a85-c866fff175d3 [SWAP]# auto-mount > 추가 설정
UUID=62a1faab-d641-4bc3-bacf-627f1f291c71 /db xfs defaults 0 0
UUID=b1f8274b-8367-46a3-af7a-9cc6415cebf8 /data ext4 defaults 0 0再起動後、自動マウントが正しく適用されているか、以下のコマンドで確認する
reboot
lsblk -f0 0 * * * /bin/sync && echo 1 > /proc/sys/vm/drop_cachesnet.core.netdev_max_backlog=4096
net.core.somaxconn=65535
net.core.rmem_max=3145728
net.core.wmem_max=3145728dnf erase podman buildah
dnf update
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl --now enable docker
docker compose version
docker --version
docker network create frontend
docker network create backendcurl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
dnf config-manager --set-enabled nvidia-container-toolkit-experimental
dnf install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker
rebootcentOSをインストールしてから約9〜10年ぶりに、Linuxサーバーをフォーマットした気がする。 Linuxサーバーは一度フォーマットすると、ほとんどフォーマットする機会はないのだが、今回、AlamLinux 8のアップデートサポートが2024年5月に終了するらしいと聞いた。 もちろんセキュリティアップデートは続くだろうが、そろそろアップデートする時期だと思った。 フォーマットしなくてもアップデートは十分できるが、かなり古くなっていたし、以前dockerを使う前に設定したiptablesなどもあったので、 一度フォーマットするのがよさそうだと思い、今回、思い切って実行した。
データのバックアップは常に必須だけれど!!フォーマットするときはいつも、データに問題が起きないか不安になる。
とにかく、残りのデータバックアップを戻して、サービスサーバーを起動すればよさそうだ。
はぁ〜 最初はAlmaLinuxでインストールしたが、nvidia driverのインストール中にうまくいかなかったので、RockyLinuxに変更してインストールした。(実際には、うまくいかなかった原因はAlmaLinuxではなかった)
はぁ、これからはalmaではなくrockyをインストールして使おう……
Linuxサーバーのフォーマット作業が完了するまで、ほぼ12時間かかった……はぁ、やっぱり大変だ……