大変だー、突然ファイルサーバーにアクセス出来なくなった

その時の画像がこれ

それでアクセスできないフォルダーのプロパティーは

セキュリティタブを表示すると詳細設定をクリックしろと

すると、現在の所有者を特定できませんとなる
ここで、Administratorsにしても跳ねられる。考えてみれば当たり前。Windowの AdministratorはLINUXでは一般ユーザーでしかないので、できないのだ。
幸いLINUXのsambaサーバーにroot権限でアクセスできるので、ここからはsambaサーバーでの作業
# ls -la /SmbData/
合計 44
drwxrwx—  12 otake   inpac    139 10月 14 04:18 .
dr-xr-xr-x. 22 root    root    4096 10月 14 00:43 ..
drwxrwx—  15 otake   account 4096 10月  3 12:09 ACCOUNT
drwxrwx—  12 otake   admin   4096  8月 20 15:27 ADMIN
drwxrwx—   9 otake   inpac    148 10月 14 04:18 IND
drwxrwx—+  9 otake   inpac    148 10月 11 17:01 INDIA
drwxrwx—  84 otake   inpac   4096 10月 11 19:31 INPAC
drwxrwx—+ 39 otake   it      4096 10月  4 18:10 IT
drwxrwx—  45 otake   inpac   4096 10月  9 13:33 MALDIVES
drwxrwx—   8 opmale2 op-male  330  9月  3 13:19 MALE
drwxrwx—  12 otake   inpac   4096  2月 12  2024 SRI_LANKA
drwxrwx—  11 otake   inpac   4096  9月 30 13:47 TOURS

やっぱり、いつの間にかACLになっている。何でなったかは不明だが、もしかしたら、このフォルダーにbaculaでバックアップしてあったdirectoryをうっかりrootでコピーしたからかなー?どんなACLになっているかチェック
# getfacl /SmbData/INDIA
getfacl: Removing leading ‘/’ from absolute path names
# file: SmbData/INDIA
# owner: otake
# group: inpac
user::rwx
user:otake:rwx
group::—
group:inpac:—
mask::rwx
other::—
案の定、グループinpacでアクセス権が無い。これが原因なのでACLを解除する
# setfacl -b /SmbData/INDIA
うんで、再度ACLを表示
# getfacl /SmbData/INDIA/
getfacl: Removing leading ‘/’ from absolute path names
# file: SmbData/INDIA/
# owner: otake
# group: inpac
user::rwx
group::rwx
other::—
無事グループでアクセス権が出来た。
もちろん、Windowsからはアクセスできる。

カテゴリー: Linux運用時のメモ | コメントする

lsyncd 設定

lsyncdを使ってファイルサーバーのデーターを別のサーバーと同期するように設定します。
同期元で
# dnf install lsyncd
そして、sshで使うkeyを作成します
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): Enter
Enter passphrase (empty for no passphrase): Enter
Enter same passphrase again: Enter
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
後略
rootの.sshに出来た id_rsa.pub をメールなんかで同期先のホストの/root/.ssh/に
authorized_keysとして保存。もちろん、この同期先でsshやrsyncの設定をしておく。
lsyncdの設定
# gedit /etc/lsyncd.conf
— sync{default.rsyncssh, source=”/var/www/html”, host=”localhost”, targetdir=”/tmp/htmlcopy/”}

settings{
  logfile = “/var/log/lsyncd/lsyncd.log”,
  tatusFile = “/tmp/lsyncd.stat”,
  statusInterval = 1,
–  同期先との接続に失敗しても再接続を試み続ける
  insist = 1,
}
sync{
  default.rsyncssh,
  source=”/SmbData”,
– 同期先ののパス
  host=”root@192.168.0.69″,
  targetdir=”/SmbData/”,
– delete =true,
  rsync = {
    archive = true,
    links = true,
    update = true,
    verbose = false,
  }
}
最初のコメント部分はdefaultで記入があった部分、deleteは危険なので最初は外してある。後日コメントを取る。この設定のコメントは # では無く、 — 。初めそれに気が付かずトラブった。(注: wordpressはどういう訳か、ーーが表示されるとーになるので注意)
で起動など
# systemctl start lsyncd
# systemctl status lsyncd
● lsyncd.service – Live Syncing (Mirror) Daemon
  Loaded: loaded (/usr/lib/systemd/system/lsyncd.service; disabled; pre>
  Active: active (running) since Fri 2024-08-16 05:56:22 JST; 8s ago
  Docs: man:lsyncd(1)
    https://axkibe.github.io/lsyncd/
  Main PID: 1285659 (lsyncd)
  Tasks: 3 (limit: 23051)
後略
# systemctl enable lsyncd
Created symlink /etc/systemd/system/multi-user.target.wants/lsyncd.service → /usr/lib/systemd/system/lsyncd.service.
これで同期元に何か書き込み、同期先に出来ているか確認する。

カテゴリー: AlmaLinuxに挑戦 | コメントする

DRBDをやるならネットワークは複数

ファイルサーバーの可用性を高めるためdrbdを作っています。
初めはネットワークを一つだけで運用していましたが、ほぼ問題は無く可動をしていましたが、マスターとスレーブが結構変更になりました。これはデーターの同期と死活チェックに同じネットワークを使っているのが原因の様です。
なので、ネットワークカードを増設し、死活のチェックを増設したネットワークに変更したら、マスターとスレーブの入れ替わりがなくなりました。(もちろん、何かの具合で入れ替わりが発生する筈ですが)
結論:DRBDをやるならネットワークは複数作成する事。

カテゴリー: DRBDに挑戦(almalinux9) | コメントする

サブホストにNICを追加する

これを行う前にhttps://www.kinryo.net/?p=3147 を参考にbr1を作っておく

メインのホストにはNICは二つあるが、サブホストを新規で作ると一つしか作ってくれない?(もしかしてサブホストを作ってからNIC追加したかもしれない?)
なので、追加する。先ずはvirt-managerで該当サブホストの情報を表示し、ハードウエアの追加をクリックし(画像1)、表示されたウィンドウで画像2のように設定し、
完了をクリック。その後サブホスト自体を開き念のためIPを調べる
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
  link/ether 52:54:00:c8:0a:a5 brd ff:ff:ff:ff:ff:ff
  inet 192.168.0.66/24 brd 192.168.0.255 scope global noprefixroute enp1s0
   valid_lft forever preferred_lft forever
3: enp12s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
  link/ether 52:54:00:b0:8f:b0 brd ff:ff:ff:ff:ff:ff
enp12s0が出来ているが、IPアドレスが設定されていないようなので、nmcliで調べる
# nmcli con show
NAME          UUID                                                               TYPE           DEVICE

enp1s0   91e215c6-d843-30f2-abd7-436c0bf89180      ethernet     enp1s0
lo             028c0332-d3c3-4a8d-a445-58cd166fa63e    loopback     lo

なのでenp12s0を作り設定していく
#
nmcli c add type ethernet ifname enp12s0 con-name enp12s0
接続 ‘enp12s0’ (1e9dd2b6-2cd9-43a7-aaf2-0648116edcee) が正常に追加されました。
#
nmcli c mod enp12s0 ipv4.address “192.168.135.66/24”
# nmcli c mod enp12s0 ipv4.gateway “192.168.135.1”
# nmcli c mod enp12s0 ipv4.method manual
# nmcli c mod enp12s0 ipv4.dns 192.168.135.1
# nmcli c up enp12s0
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/6)
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
  link/ether 52:54:00:c8:0a:a5 brd ff:ff:ff:ff:ff:ff
  inet 192.168.0.66/24 brd 192.168.0.255 scope global noprefixroute enp1s0
   valid_lft forever preferred_lft forever
3: enp12s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
  link/ether 52:54:00:b0:8f:b0 brd ff:ff:ff:ff:ff:ff
  inet 192.168.135.66/24 brd 192.168.135.255 scope global noprefixroute enp12s0
   valid_lft forever preferred_lft forever
  inet6 fe80::341:223f:6316:cbc7/64 scope link noprefixroute
   valid_lft forever preferred_lft forever
# nmcli c show
NAME UUID TYPE DEVICE
enp1s0 91e215c6-d843-30f2-abd7-436c0bf89180 ethernet enp1s0
enp12s0 1e9dd2b6-2cd9-43a7-aaf2-0648116edcee ethernet enp12s0
lo 028c0332-d3c3-4a8d-a445-58cd166fa63e loopback lo
これでNICが無事追加された

カテゴリー: DRBDに挑戦(almalinux9), Linux運用時のメモ | コメントする

pcs cluster start –all で片方のホストしか起動しない

drbdを使ってsambaのファイルサーバーの可用性を高め様とした時クラスターの設定が終わっているホストをコピーし設定を進めるとどうしても
# pcs cluster start –all
smb4: Starting Cluster…
smb3: Unable to connect to smb3, check if pcsd is running ……..
でも pcsd は起動している。この原因は結局分からなかった。なので再度サブホストのコピーからやり直し。
追記:後日ログを見ていたら/var/log/pacemaker/pacemaker.logに
pacemaker-schedulerd[5382] (pcmk__log_transition_summary) notice: Configuration errors found during scheduler processing, please run “crm_verify -L” to identify issues
があった。これが原因だと思われるが?さらに/var/log/messageに
pacemaker-controld[5383]: notice: State transition S_IDLE -> S_POLICY_ENGINE
pacemaker-schedulerd[5382]: error: Resource start-up disabled since no STONITH resources have been defined
pacemaker-schedulerd[5382]: error: Either configure some or disable STONITH with the stonith-enabled option
pacemaker-schedulerd[5382]: error: NOTE: Clusters with shared data need STONITH to ensure data integrity
pacemaker-schedulerd[5382]: notice: No fencing will be done until there are resources to manage
pacemaker-schedulerd[5382]: notice: Calculated transition 1, saving inputs in /var/lib/pacemaker/pengine/pe-input-97.bz2
pacemaker-schedulerd[5382]: notice: Configuration errors found during scheduler processing, please run “crm_verify -L” to identify issues
pacemaker-controld[5383]: notice: Transition 1 (Complete=0, Pending=0, Fired=0, Skipped=0, Incomplete=0, Source=/var/lib/pacemaker/pengine/pe-input-97.bz2): Complete
pacemaker-controld[5383]: notice: State transition S_TRANSITION_ENGINE -> S_IDLE
pacemakerd[5377]: notice: Caught ‘Terminated’ signal
があった。恥ずかしながらpacemaker.logがあるのに気がつかなっかった。

但し、オリジナルのホストのpcsの設定を削除しておく。
# pcs cluster –force stop
# pcs cluster destroy
詰まりせっかく設定した分を全消去しておく。またpcsdとDRBD起動関係を止めておく
# systemctl stop pcsd
# systemctl disable pcsd
# systemctl stop pcsd
# systemctl disable pcsd
ただし、/etc/hostの設定やは残っている、またpcsとpacemakerはインストールされているよ。

そしてやっと、ここを参考にしてサブホストにコピーする。
その際、vda1のUUID, 固定のIPアドレス、hostnameがダブっているので、https://www.kinryo.net/?p=2529を参考に変更してください。ただしUUIDの変更は出来なかったので、変更していない。次に念の為コピーしたサブホスト側でも(オリジナルのホストで消去しているのでやらなくてもいいと思うが)。ただしこの方法は/etc/fstabの設定が両ホストで同じでなければならない。違う時はvdaになる物意外外して置く事。
# pcs cluster –force stop
# pcs cluster destroy
でクラスターを削除しておく。
pcsdを起動して、パスワードの設定をする
# systemctl enable –now pcsd
# passwd hacluster
これを両方のサブホストで行う。

ここからはオリジナルのサブホストのsmb3での作業
# pcs host auth smb3 smb4
ユーザーを聞かれるので hacluster パスワードは設定した物。
# pcs cluster setup mycluster smb3 smb4
No addresses specified for host ‘smb3’, using ‘smb3’
No addresses specified for host ‘smb4’, using ‘smb4’
Destroying cluster on hosts: ‘smb3’, ‘smb4’…
smb3: Successfully destroyed cluster
smb4: Successfully destroyed cluster
Requesting remove ‘pcsd settings’ from ‘smb3’, ‘smb4’
smb3: successful removal of the file ‘pcsd settings’
smb4: successful removal of the file ‘pcsd settings’
Sending ‘corosync authkey’, ‘pacemaker authkey’ to ‘smb3’, ‘smb4’
smb3: successful distribution of the file ‘corosync authkey’
smb3: successful distribution of the file ‘pacemaker authkey’
smb4: successful distribution of the file ‘corosync authkey’
smb4: successful distribution of the file ‘pacemaker authkey’
Sending ‘corosync.conf’ to ‘smb3’, ‘smb4’
smb3: successful distribution of the file ‘corosync.conf’
smb4: successful distribution of the file ‘corosync.conf’
Cluster has been successfully set up.
# pcs cluster start –all
smb3: Starting Cluster…
smb4: Starting Cluster…
おー!!、両方のホストでクラスターがスタートした。
# pcs cluster enable –all
smb3: Cluster Enabled
smb4: Cluster Enabled
# pcs status
Cluster name: mycluster

WARNINGS:
No stonith devices and stonith-enabled is not false

Status of pacemakerd: ‘Pacemaker is running’ (last updated 2023-10-23 19:53:50 +09:00)
Cluster Summary:
 * Stack: corosync
 * Current DC: smb4 (version 2.1.5-9.el9_2.3.alma.1-a3f44794f94) – partition with quorum
 * Last updated: Mon Oct 23 19:53:50 2023
 * Last change: Mon Oct 23 19:38:00 2023 by hacluster via crmd on smb4
 * 2 nodes configured
 * 0 resource instances configured

Node List:
 * Online: [ smb3 smb4 ]

Full List of Resources:
 * No resources

Daemon Status:
 corosync: active/enabled
 pacemaker: active/enabled
 pcsd: active/enabled
WARNINGが出ているので、https://www.kinryo.net/?p=3610を参考にして解除

カテゴリー: DRBDに挑戦(almalinux9) | コメントする

3:DRBDをpacemakerの現在のリソースに追加する

resource-stickinessをどうするか?https://www.bigbang.mydns.jp/drbd-x.htmには”DRBDは自動フェールバックを無効としておかないとDRDBでフェンシングが発生し、2台ともStandAlone状態となってしまう場合があります。
この対策のため、自動フェールバックを無効とした方が良いでしょう。”とあり、https://blog.drbd.jp/2015/04/%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E6%A9%9F%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%8C%E5%A3%8A%E3%82%8C%E3%81%9F%E3%82%89%E9%81%85%E6%BB%9E%E3%81%AA/には”これをINFINITYに設定してしまうと、アクティブ機上で動作しているリソースは、ノード自体のダウンやオペレータによる切り替え操作以外の要因でフェイルオーバしなくなってしまいます。”とあります。2台ともスタンドアロンになるか、ファイルシステムの不調でもフェイルオーバーしなくなるかのどちらを取るかですが、私はresource-stickiness=INFINITYは設定しない事にしました。
Filesystemリソースを追加する
# pcs resource create FScheck ocf:heartbeat:Filesystem device=/dev/drbd0 directory=/SmbData fstype=xfs op start timeout=60s on-fail=restart op stop timeout=60s on-fail=block op monitor interval=10s timeout=60s on-fail=restart
# pcs resource group add smbgroup VIPcheck FScheck
そしてprimaryの方で
# mount /dev/drbd0 /SmbData
SmbDataはファイルサーバーのデーターのディレクトリー(勿論、あらかじめ作っておく)
マウントされたか確認
# df -h
ファイルシス サイズ  使用      残り     使用%  マウント位置
devtmpfs       4.0M     0          4.0M     0%       /dev
tmpfs              1.8G      49M    1.8G      3%      /dev/shm
tmpfs              732M    9.3M   723M   2%      /run
/dev/vda1        20G      8.5G    12G     43%     /
/dev/vdc          50G      26G     25G     52%     /Download
tmpfs               366M   144K   366M    1%     /run/user/0
/dev/drbd0      700G    213G  487G    31%    /SmbData

smbとnmbのリソースを追加
# pcs resource create SAMBA systemd:smb –group smbgroup
# pcs resource create NAMED systemd:nmb –group smbgroup
‘–group’ is deprecated とワーニングが出るが設定は出来ている。
実はこの設定に自身が無い。動いているから多分大丈夫?
pcsのステイタスをチェック
# pcs status
前略
Node List:
* Online: [ smb6 smb7 ]

Full List of Resources:
 * Resource Group: smbgroup:
  * VIPcheck (ocf:heartbeat:IPaddr2): Started smb6
  * FScheck (ocf:heartbeat:Filesystem): Started smb6
  * SAMBA (systemd:smb): Started smb6
  * NAMED (systemd:nmb): Started smb6

Daemon Status:
 corosync: active/enabled
 pacemaker: active/enabled
 pcsd: active/enabled
drbdのステイタスをチェック
# drbdadm status r0
r0 role:Primary
 disk:UpToDate
 smb7 role:Secondary
  peer-disk:UpToDate
マウントされているか?
# df -h
ファイルシス サイズ  使用      残り     使用%  マウント位置

devtmpfs       4.0M     0          4.0M     0%       /dev
tmpfs              1.8G      49M    1.8G      3%      /dev/shm
tmpfs              732M    9.3M   723M   2%      /run
/dev/vda1        20G      8.5G    12G     43%     /
/dev/vdc          50G      26G     25G     52%     /Download
tmpfs               366M   144K   366M    1%     /run/user/0
/dev/drbd0      700G    213G  487G    31%    /SmbData
smb6をスタンバイして見る
#
pcs node standby smb6
少し時間を置いて(切り替わるのに少し時間がかかる)
# pcs status
Cluster name: mycluster
Cluster Summary:
 * Stack: corosync (Pacemaker is running)
 * Current DC: smb6 (version 2.1.7-5.el9_4-0f7f88312) – partition with quorum
 * Last updated: Mon Aug 12 19:00:23 2024 on smb6
 * Last change: Mon Aug 12 19:00:06 2024 by root via root on smb6
 * 2 nodes configured
 * 4 resource instances configured

Node List:
 * Node smb6: standby
 * Online: [ smb7 ]

Full List of Resources:
 * Resource Group: smbgroup:
  * VIPcheck (ocf:heartbeat:IPaddr2): Started smb7
  * FScheck (ocf:heartbeat:Filesystem): Started smb7
  * SAMBA (systemd:smb): Started smb7
  * NAMED (systemd:nmb): Started smb7

Daemon Status:
 corosync: active/enabled
 pacemaker: active/enabled
 pcsd: active/enabled
対向ホストのsmb7に切り替わっている
#
drbdadm status r0
r0 role:Secondary
disk:UpToDate
smb7 role:Primary
peer-disk:UpToDate
smb7がprimaryになっている
# df -h
ファイルシス サイズ  使用      残り     使用%  マウント位置
devtmpfs       4.0M     0          4.0M     0%       /dev
tmpfs              1.8G      49M    1.8G      3%      /dev/shm
tmpfs              732M    9.3M   723M   2%      /run
/dev/vda1        20G      8.5G    12G     43%     /
/dev/vdc          50G      26G     25G     52%     /Download
tmpfs               366M   144K   366M    1%     /run/user/0
/SmbDataがマウントされていない
# ls -la /SmbData/
合計 4
drwxr-xr-x 2 root root 6 8月 11 12:54 .
dr-xr-xr-x. 21 root root 4096 8月 12 12:49 ..
/SmbDataの中身は当然ながら何もない
smb7ホストに移って
[root@smb7 ~]# df -h
ファイルシス  サイズ    使用     残り    使用%   マウント位置
devtmpfs        4.0M         0     4.0M        0%       /dev
tmpfs               1.8G     33M     1.8G        2%       /dev/shm
tmpfs             732M    9.3M   723M        2%      /run
/dev/vda1         20G     6.2G      14G       31%      /
tmpfs             366M    104K    366M        1%     /run/user/0
/dev/drbd0    700G     213G    487G       31%    /SmbData
[root@smb7 ~]# ls -la /SmbData/
合計 32
drwxr-xr-x 11 root root 128 8月 12 12:53 .
dr-xr-xr-x. 21 root root 4096 8月 12 16:20 ..
drwxrwx— 13 510 502 4096 8月 6 09:37 ACCOUNT
drwxrwx— 11 510 503 4096 6月 18 14:25 ADMIN
drwxrwx— 11 510 501 182 7月 31 17:16 INDIA
drwxrwx— 79 510 501 4096 8月 12 10:36 INPAC
drwxrwx— 38 510 504 4096 8月 12 12:50 IT
drwxrwx— 40 510 501 4096 8月 4 16:05 MALDIVES
drwx—— 2 root root 6 8月 12 05:47 MALE
drwx—— 2 root root 6 8月 12 05:47 SRI_LANKA
drwx—— 2 root root 6 8月 12 05:47 TOURS
/SmbDataの中身にちゃんとファイルサーバーが移っている

それでスタンバイした、smb6を戻しておく
[root@smb6 ~]# pcs node unstandby smb6   smb7側でやってもいい
[root@smb6 ~]# pcs status
Cluster name: mycluster
Cluster Summary:
 * Stack: corosync (Pacemaker is running)
 * Current DC: smb6 (version 2.1.7-5.el9_4-0f7f88312) – partition with quorum
 * Last updated: Mon Aug 12 19:13:22 2024 on smb6
 * Last change: Mon Aug 12 19:13:16 2024 by root via root on smb6
 * 2 nodes configured
 * 4 resource instances configured

Node List:
 * Online: [ smb6 smb7 ]

Full List of Resources:
 * Resource Group: smbgroup:
  * VIPcheck (ocf:heartbeat:IPaddr2): Started smb7
  * FScheck (ocf:heartbeat:Filesystem): Started smb7
  * SAMBA (systemd:smb): Started smb7
  * NAMED (systemd:nmb): Started smb7

Daemon Status:
 corosync: active/enabled
 pacemaker: active/enabled
 pcsd: active/enabled

これで完成。

カテゴリー: DRBDに挑戦(almalinux9) | コメントする

ブートにUUIDは嫌いだー

すごいタイトルだけど!理由はこうだ。
何をしたかと言うと、DRBDを作っているので、一つのサブホストのpacemaker(PCSD)位まで(もちろんclamd, firewall, tripwire, samba etcも設定済み)を作りこれをddでコピーするとほとんどの設定やインストールしているプログラムは引き継げる。ここで問題になるのは、hostnameとip adderssとブートするディスクのUUIDがダブっている事だ。hostnameとip adderssはコピー元のサブホストを停止したまま、コピー先のサブホストを立ち上げ、NMCLIなどで変更は出来るが、UUIDはそうはいかない、root領域なのでumount出来ないので、停止してUUIDを変更すると当たり前だがブートしない。これには随分悩んだ、サブホストなのでrootになる領域は必ず/dev/vda1になるので、これを指定したいがその方法が分からない。google先生に聞いても昔の方法である/dev/sda1等の指定方法は出て来なかった。/etc/grub.dにある10_linuxをいじくれば出きるまでは分かったが、私の拙いスクリプトのレベルでは出来なかった。その後ファイルシステムにラベルを付けそれを指定してroot領域を指定できる事が分かった。早速オフラインでルート領域にラベルを付ける。先ずはvda1を作るために
# losetup /dev/loop0 /dev/Subhost6/samba
# kpartx -a /dev/loop0
# ls -la /dev/mapper
でここにloop0p1(これがブート後のvda1)があるので
# xfs_admin -L smb6-root /dev/mapper/loop0p1
でラベルを付けて、UUIDのままブート、その後grubの編集
# gedit /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=”$(sed ‘s, release .*$,,g’ /etc/system-release)”
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=”console”
GRUB_CMDLINE_LINUX=”rhgb quiet selinux=0″
GRUB_DISABLE_RECOVERY=”true”
GRUB_ENABLE_BLSCFG=true
GRUB_DISABLE_UUID=true   これを追記
GRUB_DISABLE_LINUX_UUID=true   これを追記
GRUB_DEVICE=/dev/disk/by-label/smb6-root   これを追記
そんで
# grub2_mkconifg -o /boot/grub2/grub.cfg
でブートするroot領域を指定する。
/boot/grub2/grub.cfgは

前略
### BEGIN /etc/grub.d/10_linux ###
insmod part_msdos
insmod xfs
set root=’hd0,msdos1′
insmod part_msdos
insmod xfs
set boot=’hd0,msdos1′

# This section was generated by a script. Do not modify the generated file – all changes
# will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files.
#
# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and
# populates the boot menu. Please refer to the Boot Loader Specification documentation
# for the files format: https://systemd.io/BOOT_LOADER_SPECIFICATION/.

# The kernelopts variable should be defined in the grubenv file. But to ensure that menu
# entries populated from BootLoaderSpec files that use this variable work correctly even
# without a grubenv file, define a fallback kernelopts variable if this has not been set.
#
# The kernelopts variable in the grubenv file can be modified using the grubby tool or by
# executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX
# and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both
# the kernelopts variable in the grubenv file and the fallback kernelopts variable.
if [ -z “${kernelopts}” ]; then
set kernelopts=”root=/dev/disk/by-label/smb6-root ro rhgb quiet selinux=0 “
fi

insmod blscfg
blscfg
### END /etc/grub.d/10_linux ###
後略
となっており、その後オフラインでxfs_adminでloop0p1(vda1)のUUIDを変更し、再起動したがやっぱりエラーが出てブートしなかった。
未だに、解決してない。方法が解ればここに書き足します。

カテゴリー: Linux運用時のメモ | コメントする

2:DRBDのインストール

これはelrepoにあるので
# rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
# dnf install kmod-drbd9x drbd9x-utils
エラー: トランザクションテストエラー:
ファイル /lib/drbd/drbdadm-84 (パッケージ drbd9x-utils-9.28.0-1.el9.elrepo.x86_64 から) は、パッケージ drbd-utils-9.26.0-1.el9.x86_64 からのファイルと競合しています。
などとエラーがいっぱい出ている!
以前にインストールした分が残っているので
# dnf remove drbd-utils-9.26.0-1.el9.x86_64
削除されたので再度
# dnf install kmod-drbd9x drbd9x-utils

/etc/drbd.d/r0.res として設定ファイルを作成します。割り当てるディスクはsmb6,smb7共 vdeにしている。又、ネットワークはDRBDように192.168.135.0/24を割り当てているが現在はこのネットワークが無いのでhttps://www.kinryo.net/?p=3996を参考して作っておく。br1は固定アドレスでsmb6には192.168.135.66にし、smb7は192.168.135.67に設定する。
ここまでをもう一方のホストでもやる。

drbdの設定ファイルを作る
#
gedit /etc/drbd.d/r0.res
resource r0 {
  protocol C;
  disk /dev/vde;
  device /dev/drbd0;
  meta-disk internal;
  on smb6 {
    address 192.168.135.66:7789;
  }
  on smb7 {
    address 192.168.135.67:7789;
  }
}
次に usage-count no を設定しますが、この意味はhttps://linbit.com/drbd-user-guide/drbd-guide-9_0-ja/によると
The DRBD project keeps statistics about the usage of various DRBD versions. This is done by contacting an HTTP server every time a new DRBD version is installed on a system. This can be disabled by setting usage-count no;. The default is usage-count ask; which will prompt you every time you upgrade DRBD.
とあるので、デフォルトでは起動時にアップデートがあるか常にチェックするようですので、これを止める(もちろん両ホストで
# gedit /etc/drbd.d/global_common.conf
global {
  #usage-count yes; コメントアウトし
  usage-count no;  挿入
後略
ディスクの初期化と、メタデータを作成しますが、これを両ホストでやります。
# dd if=/dev/zero of=/dev/vde bs=1M count=1
これは先頭の1Mバイトをゼロを書き込む
# drbdadm create-md r0
両ホストでdrbdを起動する
[root@smb6 ~]# systemctl start drbd
[root@smb6 ~]# systemctl enable drbd
[root@smb6 ~]# drbdadm status r0
r0 role:Secondary
  disk:Inconsistent
  smb7 connection:ga
もう片方がまだなので、Connecting になっている。もう片方のホストも
[root@smb7 ~]# systemctl start drbd
[root@smb7 ~]# systemctl start drbd
[root@smb7 ~]# drbdadm status r0
r0 role:Secondary
 disk:Inconsistent
 smb6 connection:Connecting
両ホストともSecondaryなのでConnecting になっている。
で、smb6で
# drbdadm primary –force r0
# drbdadm status r0
r0 role:Primary
 disk:UpToDate
 smb7 role:Secondary
  replication:SyncSource peer-disk:Inconsistent done:0.04
これでsmb6がprimaryになり、同期が始まった。私の場合はディスクのサイズが700GiBもあるので同期が終わるのに時間がかかる。時々 drbdadm status r0を見ながら同期が終了するのを待つ。コーヒーでも飲みながら少し休憩。このステイタスの最後の Done:10.55 が同期が終了したパーセントなのでそれでどれ位、時間がかかるか見当がつく。

注:# drbdadm up r0
をやった時、過去にDRBDを作成している場合、下記のエラーが表示されることがあります
new-minor r0 0 0: sysfs node ‘/sys/devices/virtual/block/drbd0’ (already? still?) exists
r0: Failure: (161) Minor or volume exists already (delete it first)
Command ‘drbdsetup new-minor r0 0 0’ terminated with exit code 10
このエラーの対処方法はhttps://www.bigbang.mydns.jp/drbd-x.htmにありますので参考にしてください。

カテゴリー: DRBDに挑戦(almalinux9) | コメントする

1:pacemakerのインストール

物理的に違うkvmのサブホストを使用
ホスト名:smb6, IP: 192.168.0.66
ホスト名:smb7, IP: 192.168.0.67
仮想IP: 192.168.0.65
まずは https://www.server-world.info/query?os=CentOS_Stream_9&p=pacemaker&f=1を参考に進めていく。
# dnf –enablerepo=highavailability -y install pacemaker pcs
とインストールが終わった所で、何も設定せず対抗するサブホストにここを参考にしてサブホストにコピーする。さもないとhttps://www.kinryo.net/?p=3602のようにトラブル。
ホスト名で設定していくので
# gedit /etc/hosts
の最後に
192.168.0.66  smb6 smb6.inpac.jp
192.168.0.67  smb7 smb7.inpac.jp
を追記し保存。これを両ホストに設定
次に設定がダブっているので(IPやhostname)、https://www.kinryo.net/?p=2529を参考に変更してください。ただしUUIDの変更は出来なかったので、変更していない。/grub2/grub.cfgにあるUUIDを全部変更してもオリジナルのUUIDが見つからないと言われブート出来なかった!!そして再起動しておく
pcsdを起動して、パスワードの設定をする
# systemctl enable –now pcsd
# passwd hacluster
そして、設定したいパスワードを2回入力。これを両方のサブホストで行う。

ここからはオリジナルのサブホストのsmb6での作業
# pcs host auth smb6 smb7
Username: hacluster
Password:
smb7: Authorized
smb6: Authorized

ユーザーを聞かれるので hacluster パスワードは設定した物。
# pcs cluster setup mycluster –force smb6 smb7
結果の表示は長いので省略(最後にCluster has been successfully set up.が表示される筈)。次にクラスターをスタートし
# pcs cluster start –all
smb6: Starting Cluster…
smb7: Starting Cluster…
起動後にスタートさせる
# pcs cluster enable –all
smb6: Cluster Enabled
smb7: Cluster Enabled
#
pcs status
Cluster name: mycluster

WARNINGS:
No stonith devices and stonith-enabled is not false

Status of pacemakerd: ‘Pacemaker is running’ (last updated 2023-10-23 19:53:50 +09:00)
Cluster Summary:
 * Stack: corosync
 * Current DC: smb6 (version 2.1.5-9.el9_2.3.alma.1-a3f44794f94) – partition with quorum
 * Last updated: Mon Oct 23 19:53:50 2023
 * Last change: Mon Oct 23 19:38:00 2023 by hacluster via crmd on smb6
 * 2 nodes configured
 * 0 resource instances configured

Node List:
 * Online: [ smb6 smb7 ]

Full List of Resources:
 * No resources

Daemon Status:
 corosync: active/enabled
 pacemaker: active/enabled
 pcsd: active/enabled
corosync もチェックしておく。
# pcs status corosync
Membership information
———————-
  Nodeid  Votes Name
  1     1 smb6 (local)
  2     1 smb7
2ノード構成のためquorumを無効化
# pcs property set no-quorum-policy=ignore
No stonith devicesとワーニングが出ているので、その対処。stonithを無効化(stonithとはShoot The Other Node In The Headの略称で、監視対象ノードに異常が発生した場合に強制的に停止/再起動させることができる。ただし専用のハードがいる)
# pcs property set stonith-enabled=false

次に仮想IP: 192.168.0.65のチェック
#
pcs resource create VIPcheck ocf:heartbeat:IPaddr2 ip=192.168.0.65 cidr_netmask=24 op monitor interval=10s
出来たかチェック
# pcs status
前略
Full List of Resources:
 * VIPcheck (ocf:heartbeat:IPaddr2): Started smb6
後略

そしてDRBDのインストールへ

カテゴリー: DRBDに挑戦(almalinux9) | コメントする

EXCELで手動で行を選択した時とマクロで選択した時に選択された行数に違いがある!!

下は手動でR11を選択した画像

下はマクロでR11を選択した画像

このマクロは
Lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For Row1 = 11 To Lastrow Step 9
Rows(Row1).Select
となっている。
なんでR11だけを選んでいるのにR9からR18迄選んだ事になっているのか?
これには随分悩んだ!けど理由が別れだ簡単
理由は選んだセルの中にセル結合が含まれているから。
セルR:9 C:AFからR:18 C:AFまでセル結合されているので、R11を選んでもこのようにR18まで選択されてしますので、R11だけを選ぶには、まずセル結合を解かないとならない。

カテゴリー: その他 | コメントする