HalNiの雑記

備忘録を兼ねて。サーバマシンとかネットワークとか

cloud-initを使用してKVM環境にCloudイメージを簡単デプロイする

の記事はopenSUSE Advent Calendar 2023 14日目の記事です。

openSUSEダウンロードサイトに存在する Minimal Virtual Machine の中で、Cloud image というものが存在します。

Cloud image
 OpenstakやKVMのcloud-init環境で使用可能な qcow2形式のイメージ

説明にもある通り、cloud-image は cloud-initを使用して自動で初期設定を行うことができます。

cloud-init は、システムの起動時にクラウドインスタンスの初期化を自動化するソフトウェアパッケージです。
cloud-init は、さまざまなタスクを実行するように設定できます。 - cloud-init は、システムの起動時にクラウドインスタンスの初期化を自動化するソフトウェアパッケージです。cloud-init は、さまざまなタスクを実行するように設定できます。

第2章 cloud-init の概要 Red Hat Enterprise Linux 9 | Red Hat Customer Portal

cloud-initはゲストマシンの初期設定を自動化するもので、Openstack上での仮想マシン配備時や
AzureやAWS等のパブリッククラウド上でのゲスト配備でも使用されています。

cloud-initは様々な方法でゲストに基盤側データ(初期情報)を流し込むことが出来るのですが、
今回は基盤側データをISOイメージにまとめてゲストに見せる NoCloud を使用してゲストをデプロイしたいと思います。

続きを読む

openSUSE の Minimal Virtual Machine image を活用してみよう

の記事はopenSUSE Advent Calendar 2023 7日目の記事です。

openSUSEダウンロードサイトには、様々なタイプのファイルがあります。
blog.geeko.jp

その中で、仮想マシンの用のイメージ "Minimal Virtual Machine" が存在します

openSUSE Leap 15.5 - Get openSUSE

Minimal Virtual Machineにも種類があり、x86環境では以下が選択できます。

  • KVM and Xen image
     KVMXenで使用可能な qcow2形式のイメージ
  • MS Hyper-V iamge
     Hyper-Vで使用可能な vhdx形式のイメージ
  • VMware image
     ESXi/VMware playerで使用可能な vmdk形式のイメージ
  • Cloud image
     OpenstakやKVMのcloud-init環境で使用可能な qcow2形式のイメージ

今回はこの中で KVM and Xen image にフォーカスを当てたいと思います。

続きを読む

50年以上前のフィルカメラ OLYMPUS PEN ESS-2 を手に入れた

※ 技術ブログではありません

何気なく入ったカメラ屋で、ふと目に留まった OLYMPUS の PEN ESS-2

写ルンですのような使い切りカメラより安価。

ジャンク品とはいえ工学系にカビも見られず、購入しその場でフィルムをセットした

高くなったとはいえ、今でもフィルムが入手できる環境には感謝したい

続きを読む

openSUSE で Mattermost Server を構築する ( openSUSE Leap 15.4 )

openSUSE 上に Mattermost Server を構築する

以下の公式ドキュメントに記載されている構築手順は Ubuntu/Debian RHEL のみであるため、参考程度に参照しつつopenSUSE上での構築を試行したときのログ
Deploy Mattermost — Mattermost documentation
結果としては問題なく動作可能である

作業環境:

openSUSE Leap 15.4
- mariadb-10.6.10-150400.3.17.1.x86_64
- mattermost : 7.9.1 (Build Enterprise Ready: false)

続きを読む

KVM 環境で virtio-mem を使用する ( openSUSE Leap 15.4 )

の記事はopenSUSE Advent Calendar 2022 8日目の記事です。

virtio-mem とは

virtio-memとは、ゲスト(仮想マシン)のメモリ提供手段の一つです。

Overview

A virtio-mem device manages a memory region in the the guest physical address space of a virtual machine and provides a dynamic amount of memory via this memory region to the virtual machine.

https://virtio-mem.gitlab.io/user-guide/

従来のメモリ管理の方法として virtio balloon memory がありましたが、virtio-memには ゲストに割り当てたメモリを、ゲストの起動中に縮小できる という特徴があります。

なお現在 Tech-preview扱いのため、本番環境での使用は推奨されていません。念のため。

動作要件

ネスト環境で virtio-mem は正常に動作しないため、L2ゲストに virtio-mem は使用できません。
またメモリを動的に縮小・完全に取り外し可能であるというvirtio-memの性質上、virtio-mem とは別に初期メモリの領域をゲストに割り当てる必要があります。

virtio-mem は新しい実装のため、qemu5.1.0-rc1 以降、libvirtv7.9.0-rc1 以降の環境が必要です。
注意点として、ゲストOSはLinuxのみ、かつ kernel 5.8-rc1 以降のみ対応しています。 また対応アーキテクチャは現時点で x64・aarch64のみです。

メジャーどころでは openSUSE Leap 15.4 や Fedora 36/37、RHEL 9.0/9.1 が上記の環境を備えています。

今回は openSUSE Leap 15.4 で構築したKVMホスト上で検証を行います。

検証環境:

GIGABYTE MZ32-AR0
- AMD EPYC 7401P / DDR4 256GB / PM1725(HHHL) 3.2TB

openSUSE Leap 15.4
- kernel : 5.14.21-150400.24.11
- qemu : 6.2.0-150400.37.5.3
- libvirt : 8.0.0-150400.5.8

現在の手元環境たち。機会があればそのうちまとめたい。

続きを読む

git send-email で Patch をメール送信する

タイトルの通り。

メーリングリストでコードの議論や修正が行われているコミュニティに対しては、Eメールでパッチを送る必要がある

その際、git send-emailコマンドを使用することで、テキストが崩れることなく送信が可能となる

検証環境:

  • Fedora 36
  • git / git-email 2.37.3

メールアカウント:yahooメール

パスワードを使用した SMTP 認証でメールを送信するため、今回は設定が簡単なyahooメールで検証を行っている

続きを読む

openSUSE Leap のライブアップグレードは2コマンドで完了するよ ( System live upgrade )

要約

openSUSE のマイナーバージョンをライブアップグレードする場合、15.3 → 15.4 の場合

zypper --releasever=15.4 refresh
zypper --releasever=15.4 dist-upgrade

でOK!


openSUSE 13や42では、マイナーバージョンのアップグレードにライブアップグレードを選択するのは推奨されておらず、 またライブアップグレードを行う場合はリポジトリの書き換え等の作業が必要だった

しかし現在ではリポジトリを書き換えることなく、たったの2コマンドの実行だけでライブアップグレードが可能になっている
リポジトリ内のURLにreleaserverの変数を使用しているため、アップグレードの際に変数をzypperに指定してあげればよい

15.3から15.4へのアップグレードを行う場合は--releaserver=15.4、15.2から15.3への場合は--releaserver=15.3となる

リポジトリのURLにはreleaserver変数が使用されている

続きを読む

Mellanox ( NVIDIA ) ConnectX-4 で InfiniBand EDR Mode を Ethernet 100G Modeに変換する

Mellanox ConnectX-4 を中古で購入したものの、IBモードだったので Ethモードへ変更した時のメモ。

カード2枚をCWDM4で直結させるスモールスタート構成

今回はWindowsマシンで作業を行っている

作業端末:Windows 10 21H2

とりあえずカードを差したPCのデバイスマネージャーを確認してみる

カード自体がIBモードでドライバだけEthのものが当たっているからか、IOエラーを吐いてドライバが停止している

Information の値もほとんど読み込めていない

Ethに変換するためのツールと、ドライバを作業端末にインストールする

続きを読む

openSUSE でシステム要件以下のドライブ容量にインストールしてみる

の記事はopenSUSE Advent Calendar 2021 11日目の記事です。

openSUSE Leap 15.3 では、インストールの推奨要件で / に 10GB 以上の割り当てが要求されています。 en.opensuse.org

HalNiの場合、一時的に仮想マシンを立ち上げたい時など、5GB のqcow2ファイルを作成して oepnSUSE をインストールさせています。

halni@localhost:~> df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        970M     0  970M   0% /dev
tmpfs           982M     0  982M   0% /dev/shm
tmpfs           393M  948K  392M   1% /run
/dev/vda2       4.5G  2.1G  2.4G  47% /
tmpfs           982M     0  982M   0% /tmp
/dev/vda1       511M  152K  511M   1% /boot/efi
tmpfs           197M     0  197M   0% /run/user/1000

/が 5GB 以下の場合、guided setup が動作しないため
・/boot に 500MB
・/ に4.5GB
を手動で設定しています。

Serverパッケージをインストール(GUI無し)で、/下で約 2.2GB 使用されています。

ところでこのDisk容量、一体どこまで少なくしてインストールできるのか気になりませんか??
ということでDisk容量の限界値にチャンレンジしてみます。

続きを読む

KVM でゲストのストレージに Transient Disk を使用する ( openSUSE Tumbleweed )

の記事はopenSUSE Advent Calendar 2021 8日目の記事です。

transient diskとは、特定のディスクイメージ内の状態を基準として、ゲスト動作中の変更点をゲスト停止時に破棄し、次回立ち上げた時にまた特定の状態からゲストを開始させることで、 前回の起動時と同じ環境が維持されているというものです。

transient disk 自体は libvirt 6.9.0 で実装され、7.4.0ではホットプラグのサポートや単一イメージで複数のゲスト動作等が追加されています。
openSUSE の場合、 libvirt 7.1.0 である Leap 15.3 から transient disk を使用することができます。
Leap 15.2 まで(~libvirt 6.0.0 )では、サポートされてない旨の表示となり使用できません。

SUSE-152:~ # cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="openSUSE Leap 15.2"

SUSE-152:~ # virsh start vm01
error: Failed to start domain Win10-test01
error: unsupported configuration: transient disks not supported yet

Tumbleweed では、現時点で libvirt 7.9.0 のため ディスクのゲスト間共有等も使用することができます。

検証環境:

Supermicro SuperServer 5028R-WR ( X10SRW-F )
openSUSE Tumbleweed : 20211129

続きを読む