CentOS Stream9でdockerを動かす
Dockerのインストール
Podmanとかを削除
$ sudo dnf remove podman runc
ここからは公式の情報をdnf
に置き換えて実行していく。
リポジトリを追加
$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
インストール
$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin $ docker --version Docker version 20.10.18, build b40c2f6
サービスの起動
$ sudo systemctl enable docker $ sudo systemctl start docker
docker
グループにユーザを追加する
$ sudo gpasswd -a ユーザ名 docker
ログインし直すと
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE
docker-composeのインストール
最新バージョンをdocker/compose - GitHubで確認してcurl
でコピーする
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
パーミッションを設定
$ sudo chmod 0755 /usr/local/bin/docker-compose
確認
$ docker-compose --version Docker Compose version v2.10.2
UNKNOWN attributeDescription "AUTOMOUNTINFORMATION" insertedの原因
OpenLDAPサーバーにうまくつながらず、調べてみると
$ sudo slapcat > /dev/null 6226d131 UNKNOWN attributeDescription "AUTOMOUNTINFORMATION" inserted.
と警告文が出ていた。
9.4.4. LDAP を使用した自動マウント機能マップの格納 Red Hat Enterprise Linux 6 | Red Hat Customer Portal を見る限りおそらくAutoFS(使っていない)の設定が原因っぽい。
とりあえずAutoFS関連のパッケージを削除するとつながるようになった。
$ sudo apt purge autofs autofs-ldap
警告文の仕方はわからなかった...
RTX3090+Ubuntu20.04でPyTorchを動かす
RTX3090 + Ubuntu20.04でPyTorch-1.7.0が動いたので、メモ.
ドライバのインストール
$ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt update $ sudo apt install nvidia-driver-455
インストール後に再起動
$ sudo reboot
CUDA-11.1のインストール
RTX3000シリーズはCUDA11にしか対応してない?
CUDA Toolkit 11.1 Update 1 Downloads | NVIDIA Developerの通りにコマンドを実行する
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin $ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub $ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" $ sudo apt-get update $ sudo apt-get -y install cuda
cuDNN-8.0.5のインストール
NVIDIA cuDNN | NVIDIA DeveloperのDownload cuDNNからダウンロードしてきたlibcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
をインストールする。
$ sudo apt install -y ./libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
PyTorchのインストール
を選んで出てきたコマンドを実行する
$ pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
これでRTX3090+Ubuntu20.04+PyTorch1.7.0が動いた。
Arch LinuxでKVMを動かす
環境
- CPU: Ryzen 3600
- Kernel: 5.8.13-arch1-1
$ LC_ALL=C lscpu | grep Virtualization Virtualization: AMD-V
の通り、AMD-Vで仮想化がサポートされている
インストール
$ sudo pacman -S qemu libvirt virt-manager virt-viewer
自動起動
$ sudo systemctl start libvirtd $ sudo systemctl enable libvirtd
IOMMUの有効化
bootオプションにamd_iommu=o
を追加する
$ sudo vim /boot/loader/entries/arch.conf
- options root=PARTUUID=296bb6cc-2a3f-45d4-a3ad-9e8041d75903 rw + options root=PARTUUID=296bb6cc-2a3f-45d4-a3ad-9e8041d75903 rw amd_iommu=on
編集後に再起動する
$ sudo reboot
dmesg
を確認し下のような出力が出てこればIOMMUが有効化されている
$ dmesg | grep IOMMU [ 0.395281] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de> [ 0.395282] AMD-Vi: AMD IOMMUv2 functionality not available on this system
virt-managerの起動
$ sudo virt-manager
とするとroot権限でVirtManagerが起動できるはず。
Arch LinuxでRadeon RX5500XT(Navi14)をいい感じに動かす設定
i7-6700k + Arch Linuxで動かしていた環境にSapphire Pulse Radeon RX5500XTを導入した後にゲーム等でGPUに負荷がかかると画面が砂嵐?みたいになってフリーズする現象への対応策とか。
Dynamic Power Managementの無効化
フリーズする根本的な原因はDPMのせいらしいです。
https://wiki.archlinux.org/index.php/AMDGPU#System_freeze_or_crash_when_gaming_on_Vega_cards
ArchWikiの通りにカーネルパラメータにradeon.dpm=0
を追加して再起動すると無効化できる
$ sudo vim /boot/loader/entries/arch.conf
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=0bd23e2f-d30b-45d1-8ded-8026f596513e rw intel_iommu=on radeon.dpm=0
radeontopが正しく動作しない
こんな感じでGPU使用率とかが見れない
$ sudo radeontop Failed to open DRM node, no VRAM support. Unknown Radeon card. <= R500 won't work, new cards might.
最新版のradeontop(1:1.0.r6.g07ec134-1)に入れ替えれば見れる様になった
$ yay -R radeontop $ yay -S radeontop-git
zfs-on-linuxでzfsを試す
ハードウェア
- CPU: i7-6700k
- RAM: 16GB
- HDD: TOSHIBA DT01ACA300 (3TB)
ディスクIO性能ベンチマーク
fio
のインストール
$ sudo pacman -S fio
「LinuxでもCrystalDiskMarkぽいディスクベンチマークしたい」のfio設定ファイルを若干改変したもを作成(benchmark.fio
)してベンチマークする
[global] ioengine=libaio iodepth=1 size=3g direct=1 runtime=10 directory=/mnt/hdd stonewall [Seq-Read] bs=1m rw=read [Seq-Write] bs=1m rw=write [Rand-Read-4K] bs=4k rw=randread [Rand-Write-4K] bs=4k rw=randwrite [Rand-Read-4K-QD32] iodepth=32 bs=4k rw=randread [Rand-Write-4K-QD32] iodepth=32 bs=4k rw=randwrite
ベンチマークの実行は下のコマンド
$ sudo fio benchmark.fio
ext4
フォーマット&マウント
$ sudo mkfs -t ext4 /dev/sda1 $ sudo mount /dev/sda1 /mnt/hdd
ベンチマーク結果
READ: bw=174MiB/s (183MB/s), 174MiB/s-174MiB/s (183MB/s-183MB/s), io=1743MiB (1828MB), run=10005-10005msec WRITE: bw=154MiB/s (161MB/s), 154MiB/s-154MiB/s (161MB/s-161MB/s), io=1540MiB (1615MB), run=10005-10005msec READ: bw=592KiB/s (606kB/s), 592KiB/s-592KiB/s (606kB/s-606kB/s), io=5920KiB (6062kB), run=10004-10004msec WRITE: bw=1450KiB/s (1485kB/s), 1450KiB/s-1450KiB/s (1485kB/s-1485kB/s), io=14.3MiB (15.0MB), run=10119-10119msec READ: bw=1505KiB/s (1541kB/s), 1505KiB/s-1505KiB/s (1541kB/s-1541kB/s), io=14.9MiB (15.6MB), run=10129-10129msec WRITE: bw=1531KiB/s (1567kB/s), 1531KiB/s-1531KiB/s (1567kB/s-1567kB/s), io=15.1MiB (15.8MB), run=10074-10074msec
zfs
インストール
$ yay -S zfs-linux ==> Error: Could not find all required packages: zfs-utils=0.8.3 (Wanted by: zfs-linux)
zfs-linux
はzfs-utils
のバージョンが追いついていなかったのでzfs-linux-git
で試す。
$ yay -S zfs-linux-git
partedでext4用に作成したパーティションを削除後に下記を実行
$ ls -lh /dev/disk/by-id/ | grep sda lrwxrwxrwx 1 root root 9 1月 26 16:58 ata-TOSHIBA_DT01ACA300_Z3FGRANGS -> ../../sda lrwxrwxrwx 1 root root 9 1月 26 16:58 wwn-0x5000039ff4d4c893 -> ../../sda
ZFSプールの作成
$ sudo zpool create -m /mnt/hdd tank ata-TOSHIBA_DT01ACA300_Z3FGRANGS $ zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 2.72T 596K 2.72T - - 0% 0% 1.00x ONLINE - $ df -h | grep tank tank 2.7T 128K 2.7T 1% /mnt/hdd
$ sudo fio benchmark.fio
結果
READ: bw=112MiB/s (118MB/s), 112MiB/s-112MiB/s (118MB/s-118MB/s), io=1124MiB (1179MB), run=10002-10002msec WRITE: bw=290MiB/s (304MB/s), 290MiB/s-290MiB/s (304MB/s-304MB/s), io=2902MiB (3043MB), run=10001-10001msec READ: bw=134KiB/s (137kB/s), 134KiB/s-134KiB/s (137kB/s-137kB/s), io=1340KiB (1372kB), run=10001-10001msec WRITE: bw=11.1MiB/s (11.7MB/s), 11.1MiB/s-11.1MiB/s (11.7MB/s-11.7MB/s), io=111MiB (117MB), run=10001-10001msec READ: bw=168KiB/s (172kB/s), 168KiB/s-168KiB/s (172kB/s-172kB/s), io=1684KiB (1724kB), run=10002-10002msec WRITE: bw=11.4MiB/s (11.9MB/s), 11.4MiB/s-11.4MiB/s (11.9MB/s-11.9MB/s), io=114MiB (119MB), run=10001-10001msec
結果まとめ
Readがext4の方が早いのはzfsのキャッシュが効いてないから?
ext4 | zfs | |
---|---|---|
Seq-Read | 183MB/s | 118MB/s |
Seq-Write | 161MB/s | 304MB/s |
Rand-Read-4K | 606kB/s | 137kB/s |
Rand-Write-4K | 1485kB/s | 11.7MB/s |
Rand-Read-4K-QD32 | 1541kB/s | 172kB/s |
Rand-Write-4K-QD32 | 1567kB/s | 11.9MB/s |
Debian9へdockerリポジトリを追加し最新のDocker環境を構築する
dockerのインストール
Get Docker CE for Debian | Docker Documentationのとおり、リポジトリを追加してインストールする。
$ sudo apt update $ sudo apt -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - OK $ sudo apt-key fingerprint 0EBFCD88 pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <docker@docker.com> sub rsa4096 2017-02-22 [S] $ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" $ sudo apt update $ sudo apt -y install docker-ce docker-ce-cli containerd.io
docker-composeのインストール
リポジトリがなさそうなので直接インストールする。
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose
いろいろと設定
ユーザをdockerグループに追加し、dockerデーモンを自動起動するように設定する。
$ sudo gpasswd -a vild124 docker Adding user vild124 to group docker $ sudo systemctl enable docker $ sudo reboot