スキップしてメイン コンテンツに移動

投稿

1月, 2025の投稿を表示しています

rsyncを使って稼働中の ubuntu 1604 システムディスクをクローンする

当方の場合、debian でも ubuntu でもファイルシテムは xfs を主に使っているのですが、古い xfs を使っているシステム(例えば ubuntu 1604, 2004, debian 10) からは新しい xfs を使っているシステム (例えば debian 12) をマウント出来ません。(RedHat系でも同じ様です。)つまり、古いシステムをクローンする場合、新しいシステムで古いシステム用に新しい mkfs.xfs を使用してフォーマットすると古いシステムは認識できず起動できません。なので、古いシステムをクローンするには、古いシステムを稼働させて、古い mkfs.xfs を使ってシステムディスクを作成・複製するか、20250202追記:もしくは、以下のようにしてフォーマットして複製する必要があります。 mkfs.xfs -m crc=0,finobt=0 -f /dev/sdc1 しかし、オフラインでない稼働中のシステムをクローンする場合、例えば /dev (devfs)や/proc以下には稼働中はファイルが存在するので rsync でそのままコピーする訳には行きません。なので、/devや/procなどはディレクトリーを作成するだけにし、また、/ にあるシンボリックリンクは別途コピーし、それ以外を rsync で usb ドライブ にコピーし、/boot/grub/grub.cfg を作成したり、/etc/fstabなどを書き換えることで、起動できたので、備忘録として挙げてみることにしました。 文章で説明すると長いのですが、クローンそのものは、以下のようにシンプルです。 DEST=mnt-d SRC=sda1 TGT=sdd1 # 以下間違えると危険なので、コメントにしています。 # mkfs.xfs -f /dev/$TGT mkdir -p /tmp/$DEST mount /dev/$TGT /tmp/$DEST cd /tmp for d in bin boot etc home lib lib64 media mnt opt root sbin snap srv usr var; do rsync -aAXHxSvp --numeric-ids /$d/ $DEST/$d/;done for d in dev proc ru...

rsync を使って linux システムディスクをクローンする

先に断っておきますが、今回は至って短い投稿です。mntsにソースとなるディスクをマウントし、mntdにディスティネーションとなるディスクをマウントして以下のコマンドを実行します。 sudo rsync -aAXHxSvp --numeric-ids mnts/ mntd/ これだけです。スラッシュの位置は動作に関係がありますので、必ず後ろに / をつけてください。参考までに/etc/hosts /etc/hostname /etc/fstab /etc/network以下を編集して grub-mkconfig -o /boot/grub/grub.cfg とすれば、クローンディスクからブートするメニューが /boot/grub/grub.cfg に追加されますが、場合によっては root=UUID= 以降が更新されない場合があるので、注意してください。 追記20250201:上述に加え、クローンディスクを BIOS のブートメニューに載せるには fdisk コマンドなどをつかって 該当パーティションの bootable flag を on にする必要がある場合があります。 今回は以上です。それでは。

Mellanox ConnectX-2 の ethernet mac address を変更する(2025/01現在)

引き続きレガシーなサーバをメンテしているのですが、2025/01 現在では既にサポートのない EOL な ConnectX-2 を Ethernet Mode にしてみる機会がありました。 まず、OS を用意する必要があるのですが、ConnectX-2 を対象としたファームウェア更新ツールは、調べた所、2025/01現在では Ubuntu 1604 LTS で実行できそうだというのはわかりました。そこで USB SSD を用意してここに Ubuntu 1604 LTS をインストールし、kernelを 4.4.0-21-generic にしてから、以下の手順でファームウェア更新ツールのインストールとMac Addressの変更はできました。 ) cd /etc/apt/sources.list.d wget https://linux.mellanox.com/public/repo/mlnx_ofed/4.1-1.0.2.0/ubuntu16.04/mellanox_mlnx_ofed.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C5ED83E26224C050 sudo apt-get update (ofed version 4.1-1.0.2.0が最終のサポートバージョンかどうかわかりませんが、EOLになる直前の日付で最も新しいバージョンがこれでした。このバージョンでファームウェアの更新やパッケージのビルドはほぼ全部できています。ただし、一部カーネルモジュール(eth_ipoib.ko)が ubuntu 向けでビルドできていない様子なので、2025/01現在 ubuntu 向けでアクセスできるものの内、最も新しいのは、3.4-2.0.0.0の様ですが、面倒なのでusb disk を二台用意して両方クローンさせたほうが話が早そうです。) #参考: cd /etc/apt/sources.list.d wget https://linux.mellanox.com/public/repo/mlnx_ofed/3.4-2.0.0.0/ubuntu16.04/mellanox_mlnx_ofed.list つづいて必要なパッケージを導入します。 # Mel...

Debian 12 で GRUBを含めてシリアルコンソールを有効にする

設定自体は簡単なんですが、Grub を含めてシリアルコンソールを有効にする方法が、なぜかまとまった記事が見つからなかったので備忘録として挙げてみることにしました。 Debian 12 の場合(多分 Debian 10,11などでも同じだと思いますが) /etc/default/grub の以下の三か所を変更または追加します。 # /etc/default/grub GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8" GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" 今回の例ではマザーボード側では シリアル 0 を 速度115200 パリティーなし ストップビット1 8bit wordにしています。/etc/default/grubの編集が済んだら、 sudo update-grub とします。これで次回以降の再起動でシリアルコンソールがつかえるようになります。短いですが今回は以上です。それでは。