isLandcenter 非番中

ブログトップ | ログイン

この文書を参考に、SUSE Linux 15(openSUSE Leap/SLE) で sysstat と vmstat パッケージの導入と使い方を調べてみました。


第2章 システム監視ユーティリティ

sysstat は、初期状態ではインストールされていません。

sle15:~ # sar
If 'sar' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf sar
sle15:~ #

このパッケージには、 sar, iostat などのシステム管理に「使える」ツール、コマンドが含まれています

vmstat は、デフォルトでインストールされるみたいですが。リポジトリや、 openSUSE のサイトから、最新版をインストールできます。

- opensuse15 での sysstat のインストール -

SUSE Lnux ()openSUSE,SLE) には sysstat はデフォルトでインストールされていません。 yast か zypper でインストールします。 yast の場合

sle15:~ # yast

もしくは

sle15:~ # yast2

sle15:~ # yast の場合

[Tab] と [Enter] を使って Software > Software Manegement より "sysstat" を "Search Parase"、 リストに出てきた "sysstat" を選んで、space key で ”+” (インストール)にトグルして ”Accept” します。

a0056607_17352692.png


sysstat をサービスマネージャで有効化します。

yast > sysem > service manager > "sysstat""On Boot", "Active" に設定

a0056607_17370926.png


sle15:~ # yast2 の場合

Software > Software Manegement より "sysstat" を "Search Parase"! リストに出てきた "sysstat" を選んでチェック

あとは同様にサービスマネージャで、有効化します。

- 1 click インストール -

最新版がリポジトリにない場合、software.opensuse.org よりsysstat パッケージを検索して 1 click インストール もできます。

sysstat Sar and Iostat Commands for Linux


SUSE で 1 Click インストールができない場合、YaSTにないメニューを追加


- vmstat のインストール -

vmstat は openSUSE Leap 15.1/SLE15 ではデフォルトでインストールされているはずですが、インストールされていない場合、yast > Software > software Manegement から vmstat を検索してインストールします。

あるいは https://software.opensuse.org より vmstat パッケージを検索して 1 click インストールします。

a0056607_17401121.png


- vmstat の使い方 -

次の例では vmstat を2秒おきに実行します。 -a は推奨パラメータです。

sle15:~ # vmstat 2 -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 1 197888 298152 570772 554020 0 0 4 279 9 11 2 1 92 5 0
0 0 197888 298160 570772 554064 0 0 0 187 169 330 1 1 96 3 0
0 0 197888 300208 570772 552016 0 0 0 270 189 396 1 1 94 4 0
0 0 197888 300240 570772 552016 0 0 0 346 161 331 1 1 94 5 0
0 0 197888 295892 570776 556112 0 0 0 221 283 551 10 1 88 2 0
0 0 197888 295924 570784 556112 0 0 0 327 156 330 1 0 96 4 0
0 0 197888 295940 570784 556112 0 0 0 81 132 276 0 1 96 3 0
^C
sle15:~ #



第2章 システム監視ユーティリティ

によると

r
実行キューに入っているプロセス数が表示されます。これらのプロセスは、処理を 行なうために CPU の空きを待っている状態です。ここの値が利用可能な CPU 数 よりも定常的に大きい場合は、 CPU の処理能力が不足していることを示します。
b
CPU 以外の資源を待機しているプロセス数が表示されます。ここの値が高い場合は、 入出力 (ネットワークまたはディスク) に問題があることを示しています。

とあるので、"r" のカラムは、スタンバってるプロセスキューの数、つまりCPUの空き待ちで、この数字が大きいとCPUがテンパってビジー状態であるという事です。
”b” のカラムに数字が入っている時は、入出力がテンパっている、という事になります。




- sysstat -

How to set up the sadc cron job on SLES12

sysstat は有効化すると cron で10分置きにデータの収集を始めるようです。

sle15:~ # ls /etc/sysstat/ -l
total 16
-rw-r--r-- 1 root root 1008 Oct 23 17:14 sysstat
-rw-r--r-- 1 root root 263 Oct 23 17:14 sysstat.cron
-rw-r--r-- 1 root root 6430 Oct 23 17:14 sysstat.ioconf


sle15:~ # cat /etc/sysstat/sysstat.cron
# crontab for sysstat


# Activity reports every 10 minutes everyday
*/10 * * * * root [ -x /usr/lib64/sa/sa1 ] && exec /usr/lib64/sa/sa1 -S ALL 1 1

# Update reports every 6 hours
55 5,11,17,23 * * * root [ -x /usr/lib64/sa/sa2 ] && exec /usr/lib64/sa/sa2 -A
sle15:~ #


- sar のよくある使い方 -

- とにかく使ってみる

デフォルトで "# sar" を実行すると、これまで過去10分おきに取得したデータダンプを表示します。

リアルタイムに sar でコンピュータの状態を見るには

# sar 秒数

でリアルタイム表示をします。例えば2秒おきに見たい場合は

sle15:~ # sar 2
Linux 4.12.14-lp151.27-default (sle15) 12/02/19 _x86_64_ (2 CPU)

15:11:45 CPU %user %nice %system %iowait %steal %idle
15:11:47 all 0.25 0.00 0.50 18.14 0.25 80.86
15:11:49 all 1.00 0.00 0.50 5.49 0.25 92.77
15:11:51 all 1.75 0.00 0.75 6.23 0.25 91.02
15:11:53 all 1.75 0.00 0.50 4.76 0.00 92.98
^C

Average: all 1.19 0.00 0.56 8.64 0.19 89.42
sle15:~ #

という感じです。%iowait の値が高ければ、ディスクデバイスがテンパっています。 %idole の数値が 100 であれば、ioが「ド暇」状態だし、数字が下がればテンパっている状態です。

- ディスクデバイスの負荷

# sar 秒数 - b -p オプションで、ディスクデバイス等の状態を秒単位で表示します。

sle15:~ # sar 2 -d -p
Linux 4.12.14-lp151.27-default (sle15) 12/06/19 _x86_64_ (2 CPU)

13:47:36 DEV tps rkB/s wkB/s areq-sz aqu-sz await svctm %util
13:47:38 vda 20.00 0.00 331.50 16.57 0.02 13.60 0.40 0.80
13:47:38 sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

13:47:38 DEV tps rkB/s wkB/s areq-sz aqu-sz await svctm %util
13:47:40 vda 15.50 0.00 248.50 16.03 0.00 11.35 0.00 0.00
13:47:40 sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

13:47:40 DEV tps rkB/s wkB/s areq-sz aqu-sz await svctm %util
13:47:42 vda 18.50 0.00 297.50 16.08 0.00 39.78 0.22 0.40
13:47:42 sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

13:47:42 DEV tps rkB/s wkB/s areq-sz aqu-sz await svctm %util
13:47:44 vda 11.00 0.00 123.75 11.25 0.01 18.18 0.73 0.80
13:47:44 sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
^C

Average: DEV tps rkB/s wkB/s areq-sz aqu-sz await svctm %util
Average: vda 16.25 0.00 250.31 15.40 0.01 21.29 0.31 0.50
Average: sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sle15:~ #

- ネットワークの負荷

sar 秒数 -n [Type指定] は Network のトラフィックをリアルタイムに表示します。次の例は、全ての DEVice のトラフィックを2秒ごとに表示しています。

sle15:~ # sar 2 -n DEV
Linux 4.12.14-lp151.27-default (sle15) 12/06/19 _x86_64_ (2 CPU)

13:56:24 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
13:56:26 eth0 2.50 1.50 0.53 0.10 0.00 0.00 0.00 0.00
13:56:26 lo 25.00 25.00 1.50 1.50 0.00 0.00 0.00 0.00

13:56:26 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
13:56:28 eth0 2.00 1.00 0.12 0.40 0.00 0.00 0.00 0.00
13:56:28 lo 16.00 16.00 0.92 0.92 0.00 0.00 0.00 0.00

13:56:28 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
13:56:30 eth0 2.50 0.50 0.15 0.03 0.00 0.00 0.00 0.00
13:56:30 lo 20.00 20.00 1.16 1.16 0.00 0.00 0.00 0.00
^C

Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
Average: eth0 2.33 1.00 0.26 0.18 0.00 0.00 0.00 0.00
Average: lo 20.33 20.33 1.19 1.19 0.00 0.00 0.00 0.00
sle15:~ #

- 過去の状態の確認

過去の状態を見たい場合は -f オプションで /var/log/sa/saYYYYMMDD ファイルを指定します。これで「問題の時間帯」の負荷状態を確認できるわけですね。

sle15:~ # ls /var/log/sa
sa20191204 sa20191205 sa20191206 sar20191204 sar20191205
sle15:~ #
sle15:~ # sar -f /var/log/sa/sa20191204
Linux 4.12.14-lp151.27-default (sle15) 12/04/19 _x86_64_ (2 CPU)

13:02:44 LINUX RESTART (2 CPU)

13:10:01 CPU %user %nice %system %iowait %steal %idle
13:20:01 all 1.56 0.01 0.51 4.52 0.17 93.24
13:30:01 all 1.50 0.00 0.51 5.27 0.17 92.54
13:40:01 all 1.56 0.00 0.51 5.20 0.19 92.55
13:50:01 all 1.50 0.00 0.50 4.94 0.17 92.88

: 略

テキストにリダイレクトして Libreoffice で開いてグラフ化してみました。
a0056607_14283518.png

応用して、過去のネットワークデバイスの負荷を見たい場合は、 -n DEV オプションを使います。

sle15:~ # sar -n DEV -f /var/log/sa/sa20191204
Linux 4.12.14-lp151.27-default (sle15) 12/04/19 _x86_64_ (2 CPU)

13:02:44 LINUX RESTART (2 CPU)

13:10:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
13:20:01 eth0 3.73 3.28 0.53 4.05 0.00 0.00 0.00 0.00
13:20:01 lo 10.62 10.62 0.62 0.62 0.00 0.00 0.00 0.00
13:30:01 eth0 3.73 3.20 0.53 3.86 0.00 0.00 0.00 0.00
13:30:01 lo 10.84 10.84 0.64 0.64 0.00 0.00 0.00 0.00
13:40:01 eth0 4.29 3.36 0.71 4.05 0.00 0.00 0.00 0.00
13:40:01 lo 10.67 10.67 0.63 0.63 0.00 0.00 0.00 0.00

: 略

これで、深夜のバックアップやバッチジョブなどが走ったタイミングの負荷状態をチェックします。

- iostat -

ディスクデバイスの負荷状態を調べるには iostat を実行します。"# iostat 秒数" で秒数ごとに、デバイスがテンパっている状況を確認できます。

sle15:~ # iostat 2
Linux 4.12.14-lp151.27-default (sle15) 12/06/19 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
2.09 0.00 0.55 4.75 0.18 92.42

Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 26.01 8.45 557.93 16101980 1063087761
scd0 0.00 0.00 0.00 1040 0

avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.50 15.79 0.25 83.21

Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 48.50 12.00 1150.50 24 2301
scd0 0.00 0.00 0.00 0 0

^C
sle15:~ #

一番、注目するのは %iowait のカラムでしょうか。ここの数字が0であればアイドリングしていますが、でっかいファイルコピーをすると、この数字が爆発します。


- という事で -

vmstat, sar を中心に SUSE Linux のシステムの負荷状態を調べるコマンドを、非常にざっくりと見てみました。もっと詳しく知りたい場合は、マニュアルや書籍、他所に沢山情報があるので参考にしてください。

システム管理は経験です。自分でコマンドを試して、普段見慣れない数字を見つけて、良く知っている自分のシステムを「より良く知る」事が肝要です。








by islandcenter | 2019-12-07 18:05 | SUSE | Comments(0)

ncdu によって、ファイルを大量に保存してシステムを圧迫している犯人捜しの旅です。

- df と du -

先日どうも samba の調子が悪いなぁと思って、いろいろ調べているうちに、こりゃお馴染みのHDDの故障かな、随分古いディスクだし。という事でリブートしてみたら、なんと今度はXENが起動しない。

原因分からないなぁ、という事でデーモンだけ再起動して、ログを見たら容量不足でログが書けないというエラーが見つかった。慌てて

# df -h

してみたら、/var の下が満杯なんですね。でまぁことは仮想マシンの置き場です。随分と残骸が溜まっているじゃないか、という事で古いバックアップなんかを削除してみました。

この手のコマンドで他に良く使うコマンドが du です。du は、そのまま使うと、ディレクトリを舐めまくだらだらって表示されるので、次のオプションを使うと良いでしょう。

-s はディレクトリの合計を表示する
-c は全てのディレクトリの合計も表示する

オプションです。ただしバイト表示なので、 -h (human) を付けて見やすく表示しました。


sles11:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda8 50G 30G 20G 60% /
udev 3.8G 300K 3.8G 1% /dev
tmpfs 3.8G 6.4M 3.8G 1%/ /dev/shm
/dev/sda6 164M 24M 140M 15% /boot/efi
/dev/sda9 493G 384G 84G 83% /var <-- お前が犯人か
/dev/sda3 48G 19G 30G 39% /windows/C
/dev/sda4 98G 107M 98G 1% /windows/D
/dev/sda11 148G 94G 48G 67% /share
/dev/sdb2 1.8T 1.7T 4.2G 100% /hdd/sdb

sles11:~ # du -s -h /var/lib/xen
378G /var/lib/xen <--ここにファイルがごっちょりある

sles11:~ # du -s -c -h /var/lib/xen
378G /var/lib/xen
378G total
sles11:~ #




ただし、ここまで面倒だと使い辛いな、もっと便利で一発でパーティションを占有しているディレクトリを探せないかと探したらありました。 ncdu ツールです。

Ncdu

NCurses Disk Usage

- SUSE Linux (openSUSE, SLE )へ ncdu のインストール -

SUSE Linux (openSUSE/SLE) への ncdu のインストールは、openSUSE のソフトウェアページから、1 Click インストールできます。

YaST (yast2) による SUSE Linux のパッケージ管理, インストールと削除

まず、インストールされているブラウザから openSUSE のソフトウェアページを開きます。


# firefox https://software.opensuse.org/ &


検索ボックスから "ncdu" を検索し、使っているディストリビューションの "1 click Install" ボタンを押します。

a0056607_13191663.png

あとは、YaST の 1 Click インストールのウィザードに従ってインストールします。

SUSE で 1 Click インストールができない



- ncdu の操作 -

# ncdu [option] [Directory]

でディレクトリを指定してディレクトリ配下の、肥え太ったディレクトリを探します。 [Directory] を省略すると、カレントディレクトリ以下を探します。ファイルシステムの、ルート(/) から探したい場合は

# ncdu /

を実行します。/ から指定すると、時間がかかります。

今回は /var を調べたいので

# ncdu /var

を実行しました。

指定したディレクトリ以下は自由に動き回って犯人捜しをします。 "i" コマンドでディレクトリの Information をウィンドウ表示します。

こんな感じ。

a0056607_13205984.png

カーソルキー<>で移動しながら、犯人捜しをします。コンソールとのインターフェース、オプションはマニュアルをご参考下さい。

Ncdu Manual

終了する時は "q" で終了します。









by islandcenter | 2019-12-05 13:39 | SUSE | Comments(0)

今回説明するのは SUSE Linux (SLES12sp3) で動作する Bind9 です。

「ネットワークの調子が悪い」

とか言われると真っ先に疑われるのが DNS serviceです。ここでは SUSE Linux Enterprise 11/12 Bind の再起動dig での調査方法について説明します。




- SUSE Linux SLES12 での Bind DNS のサービスの再起動 -

SLE12 以降は、従来の initd の代わりに systemd が使われています。

rcnamed は /etc/init.d/named スクリプトのシンボリックリンクです。

dns2:~ # whereis rcnamed
rcnamed: /usr/sbin/rcnamed
dns2:~ # ls /usr/sbin/rcnamed -al
lrwxrwxrwx 1 root root 17 Jun 18 2018 /usr/sbin/rcnamed -> /etc/init.d/named
dns2:~ #
dns2:~ # ls /etc/init.d/named -l
-rwxr-xr-- 1 root root 10590 Jun 29 2017 /etc/init.d/named
dns2:~ #


SLES12より init から systemd に置き換わりました。

dns2:~ # rcnamed restart
redirecting to systemctl restart named.service

dns2:~ # tail -n10 /var/log/messages
2019-11-08T14:19:33.172180+09:00 dns2 named[10386]: couldn't add command channel ::1#953: address not available
2019-11-08T14:19:33.172264+09:00 dns2 named[10386]: managed-keys-zone: loaded serial 0
2019-11-08T14:19:33.172348+09:00 dns2 named[10386]: zone intra/IN: loaded serial 2018061800
2019-11-08T14:19:33.172521+09:00 dns2 named[10386]: zone i.islandcenter.jp/IN: loaded serial 2019072503
2019-11-08T14:19:33.172606+09:00 dns2 named[10386]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 42
2019-11-08T14:19:33.172689+09:00 dns2 named[10386]: zone localhost/IN: loaded serial 42
2019-11-08T14:19:33.172773+09:00 dns2 named[10386]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
2019-11-08T14:19:33.172857+09:00 dns2 named[10386]: all zones loaded
2019-11-08T14:19:33.172940+09:00 dns2 named[10386]: running
2019-11-08T14:19:33.173030+09:00 dns2 named[10333]: Starting name server BIND ..done
dns2:~ #


YaST(yast2) では System > Service Manager より "named"自動起動停止再起動ログの確認がマウス操作だけでできます。キーボードをほとんど使わないので、どうしても SUSE Linux 管理者はモノグサになります。

a0056607_15395446.png

- SUSE Linux SLES11 での Bind DNS のサービスの再起動 -

SLE11までは、古い initd で制御されています。

dns3:~ # rcnamed restart
Shutting down name server BIND waiting for named to shut down (28s) done
Starting name server BIND done
dns3:~ #
dns3:~ # ↓ 正しく動いているかどうか、エラーがないか /var/log/messages の tail を確認
dns3:~ #
dns3:~ # tail /var/log/messages
Nov 8 16:09:41 dns3 named[27596]: automatic empty zone: A.E.F.IP6.ARPA
Nov 8 16:09:41 dns3 named[27596]: automatic empty zone: B.E.F.IP6.ARPA
Nov 8 16:09:41 dns3 named[27596]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
Nov 8 16:09:41 dns3 named[27596]: command channel listening on 127.0.0.1#953
Nov 8 16:09:41 dns3 named[27596]: the working directory is not writable
Nov 8 16:09:41 dns3 named[27596]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Nov 8 16:09:41 dns3 named[27596]: zone intra/IN: loaded serial 2016051901
Nov 8 16:09:41 dns3 named[27596]: zone i.islandcenter.jp/IN: loaded serial 2019072503
Nov 8 16:09:41 dns3 named[27596]: zone localhost/IN: loaded serial 42
Nov 8 16:09:41 dns3 named[27596]: running
dns3:~ #



- dig の基本的な使い方 -

dig は bind の推奨標準ツールです。 Windows で使う場合、dig コマンドは https://www.isc.org/ よりパッケージのバイナリがダウンロードできます。

Windowsでnslookupの代わりにdigコマンドでDNSを調べる(BIND編)


- デフォルトで指定しているDNSがインターネットの host.another.com の名前解決をしているか -

[構文]# dig host.another.com

サンプル

sle15:~ # dig www.google.com
; <<>> DiG 9.11.2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35459
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 9
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:  <---- 問い合わせ内容
;www.google.com. IN A
;; ANSWER SECTION: <---- 回答内容
www.google.com. 25 IN A 172.217.27.68
;; AUTHORITY SECTION:
google.com. 167592 IN NS ns2.google.com.
google.com. 167592 IN NS ns4.google.com.
google.com. 167592 IN NS ns3.google.com.
google.com. 167592 IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 167592 IN A 216.239.32.10
ns2.google.com. 167592 IN A 216.239.34.10
ns3.google.com. 167592 IN A 216.239.36.10
ns4.google.com. 167592 IN A 216.239.38.10
ns1.google.com. 167592 IN AAAA 2001:4860:4802:32::a
ns2.google.com. 167592 IN AAAA 2001:4860:4802:34::a
ns3.google.com. 167592 IN AAAA 2001:4860:4802:36::a
ns4.google.com. 167592 IN AAAA 2001:4860:4802:38::a
;; Query time: 0 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Fri Nov 08 15:47:17 JST 2019
;; MSG SIZE rcvd: 307
sle15:~ #

- 明示的にDNSを指定してそのDNSサーバーが正しく動いているか -

原因が、自LANのDNSではなく、大元の ISP の DNS の場合もあります。

[構文]# dig @MyISPsDNS host.another.com

サンプル

sle15~ # dig @192.168.1.3 www.google.com
; <<>> DiG 9.11.2 <<>> @192.168.1.3 www.google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18969
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:  <---- 問い合わせ内容
;www.google.com. IN A
;; ANSWER SECTION: <---- 回答内容
www.google.com. 80 IN A 172.217.25.196
;; AUTHORITY SECTION: <----- ゾーンのマスターは?
com. 172795 IN NS h.gtld-servers.net.
com. 172795 IN NS k.gtld-servers.net.
com. 172795 IN NS m.gtld-servers.net.
com. 172795 IN NS a.gtld-servers.net.
com. 172795 IN NS i.gtld-servers.net.
com. 172795 IN NS c.gtld-servers.net.
com. 172795 IN NS j.gtld-servers.net.
com. 172795 IN NS g.gtld-servers.net.
com. 172795 IN NS d.gtld-servers.net.
com. 172795 IN NS b.gtld-servers.net.
com. 172795 IN NS e.gtld-servers.net.
com. 172795 IN NS l.gtld-servers.net.
com. 172795 IN NS f.gtld-servers.net.
;; ADDITIONAL SECTION:   <---- ゾーンマスターの IP アドレス
a.gtld-servers.net. 172795 IN A 192.5.6.30 <-- A は IpV4
a.gtld-servers.net. 172795 IN AAAA 2001:503:a83e::2:30 <--- AAAA はIpV6
b.gtld-servers.net. 172795 IN A 192.33.14.30
b.gtld-servers.net. 172795 IN AAAA 2001:503:231d::2:30
c.gtld-servers.net. 172795 IN A 192.26.92.30
c.gtld-servers.net. 172795 IN AAAA 2001:503:83eb::30
d.gtld-servers.net. 172795 IN A 192.31.80.30
d.gtld-servers.net. 172795 IN AAAA 2001:500:856e::30
e.gtld-servers.net. 172795 IN A 192.12.94.30
e.gtld-servers.net. 172795 IN AAAA 2001:502:1ca1::30
f.gtld-servers.net. 172795 IN A 192.35.51.30
f.gtld-servers.net. 172795 IN AAAA 2001:503:d414::30
g.gtld-servers.net. 172795 IN A 192.42.93.30
g.gtld-servers.net. 172795 IN AAAA 2001:503:eea3::30
h.gtld-servers.net. 172795 IN A 192.54.112.30
h.gtld-servers.net. 172795 IN AAAA 2001:502:8cc::30
i.gtld-servers.net. 172795 IN A 192.43.172.30
i.gtld-servers.net. 172795 IN AAAA 2001:503:39c1::30
j.gtld-servers.net. 172795 IN A 192.48.79.30
j.gtld-servers.net. 172795 IN AAAA 2001:502:7094::30
k.gtld-servers.net. 172795 IN A 192.52.178.30
k.gtld-servers.net. 172795 IN AAAA 2001:503:d2d::30
l.gtld-servers.net. 172795 IN A 192.41.162.30
l.gtld-servers.net. 172795 IN AAAA 2001:500:d937::30
m.gtld-servers.net. 172795 IN A 192.55.83.30
m.gtld-servers.net. 172795 IN AAAA 2001:501:b1f9::30
;; Query time: 381 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: Fri Nov 08 15:56:02 JST 2019
;; MSG SIZE rcvd: 855
sle15:~ #



- イントラネット向けDNSは正しく LAN 機器のIPアドレスを返すか -

[構文] # dig @DnsIPorDnsHostName myhost.mynet.com

サンプル

sle15:~ # dig @dns2 quanbe.i.islandcenter.jp

; <<>> DiG 9.11.2 <<>> @dns2 quanbe.i.islandcenter.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20621
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;quanbe.i.islandcenter.jp. IN A

;; ANSWER SECTION:         <---- 回答 ↓
quanbe.i.islandcenter.jp. 172800 IN A 192.168.1.237

;; AUTHORITY SECTION: <--- ゾーンマスター↓
i.islandcenter.jp. 172800 IN NS dns3.i.islandcenter.jp.
i.islandcenter.jp. 172800 IN NS dns2.i.islandcenter.jp.

;; ADDITIONAL SECTION:
dns2.i.islandcenter.jp. 172800 IN A 192.168.1.2
dns3.i.islandcenter.jp. 172800 IN A 192.168.1.3

;; Query time: 0 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Fri Nov 08 16:18:35 JST 2019
;; MSG SIZE rcvd: 139

sle15:~ #

- DNS のバージョンがバレていないか -

外部にむき出しのDNSは、バージョン固有のバグで悪さをされない様、バージョンを隠しておきます。

[構文] # dig @dns  CHAOS VERSION.BIND TXT

サンプル


sle15:~ # dig @dns2.i.islandcenter.jp CHAOS VERSION.BIND TXT

; <<>> DiG 9.11.2 <<>> @dns2.i.islandcenter.jp CHAOS VERSION.BIND TXT
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46470
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;VERSION.BIND. CH TXT

;; ANSWER SECTION:       <---- バレバレ ↓
VERSION.BIND. 0 CH TXT "9.9.9-P1"

;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.

;; Query time: 0 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Mon Nov 18 14:14:53 JST 2019
;; MSG SIZE rcvd: 88

sle15:~ #

この様にバージョンがバレバレにならない様、yast > Network Services > DNS Server の ”Basic Options” の Option の項目に "Version" を空欄にするか、"unknown" の様な ”任意の文字列” を追加(Add)しておきます。あまり過激な文字列を書いておくと、ある種の「ヤル気」を起こす輩がいますから、穏当にしておくのが無難です。

a0056607_14380201.png
※ SUSE Linux で DNS を YaST で設定した場合、named.conf は /var/lib/named/etc の下に作られます。細かなパラメータの設定は必ず YaST を使う事をお勧めします。

dns2:~ # grep 99 /var/lib/named/etc/named.conf
version "99.99.99";
dns2:~ #


dig を実行するとこんな感じになりました。

sle15:~ # dig @dns2.i.islandcenter.jp CHAOS VERSION.BIND TXT

; <<>> DiG 9.11.2 <<>> @dns2.i.islandcenter.jp CHAOS VERSION.BIND TXT
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18773
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;VERSION.BIND. CH TXT

;; ANSWER SECTION  <---- バージョンを誤魔化した ↓
VERSION.BIND. 0 CH TXT "99.99.99"

;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.

;; Query time: 0 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Mon Nov 18 14:31:52 JST 2019
;; MSG SIZE rcvd: 88

sle15:~ #





- SUSE Linux での DNS ゾーンのレコードメンテナンス -

SUSE Linux (SLES/openSUSE) では yast を使って、ゾーンとレコードのメンテナンスをします。Bind DNSのインストールから初期設定、僅かな変更などのメンテナンスには間違えがなく便利です。

dns2:~ # yast

テキスト版 yast > Network Services > DNS server へ TAB キーで移動し、DNS Zones から、ゾーンファイルを Edit します。

a0056607_17311881.png

GUI版はこのような感じです。

dns2:~ # yast2 &

GUI版 yast2 > Network Services > DNS server

a0056607_17315679.png

OK ボタンを押すと、自動的に named がリスタートします。

ただし、構文や設定、 /etc/resolve.conf に問題があると、保存して再起動は行われません。設定内容を確認して、再設定します。


- メンドクサイのでゾーンファイルをまとめてテキストエディタで書き換える -

yastでイチイチ、レコードのメンテなんてやってられねぇよ、LibreOFfice Calc で作った100 レコード位、csv で一発で追加したいんだ、という時はテキストエディタで、ゾーンファイルを編集すると良いでしょう。

# vi /var/lib/named/master/MYZONE


# gedit /var/lib/named/master/MYZONE &

でまとめて、ゾーンの変更、シリアル番号のメンテナンスを行います。

a0056607_18071518.png

ゾーンファイルを保存したら

# rndc reload

を実行するか、影響が小さい場合 # rcnamed restart します。

dns2:~ # rndc reload
server reload successful
dns2:~ #


- そのIPはキャッシュされてる? -

DNSが正しくホスト情報をキャッシュしているかどうかは rndc dumpdb コマンドでダンプして確認できます。キャッシュをダンプした後、/var/lib/named/log/named_dump.db の内容を確認します。


dns2:~ # rndc dumpdb
dns2:~ # grep suse.com /var/lib/named/log/named_dump.db
3090 PTR suse.com.gr.
3090 PTR suse.com.pl.
3090 PTR suse.com.tr.
suse.com. 552 A 130.57.66.19
dns2:~ #


--
速攻 1分で DNS on SUSE12 by YaST(YaST で DNS のインストール)

SUSE Linux 10 : YaST で イントラネットDNS サーバを設定

SUSE Linux で Dynamic DNS(DDNS) を作る








by islandcenter | 2019-11-09 18:00 | SUSE | Comments(0)

- ホスト名は「花鳥風月」 -

数十年前に初めて、お客さんのネットワークシステムを構築したとき

「コンピューター名どうしましょ」

となった時に

「ま、花鳥風月でいいんじゃないっすか?」

と申し上げた事がありました。




英国軍艦の装甲艦コルベットには「フラワー級コルベット」というのがあり、「立派な海軍の男がパンジー(三色スミレ、男色者の隠語)なんかぁで戦えるか」というくだりが、よく英国の海洋冒険小説に出てきます。でもこの「花の名前」のフラワー級コルベット。使い勝手の悪さと居住性の悪さにも関わらず、構造が簡素で大量生産できたため、大戦中の大西洋でのドイツの潜水艦との地味で退屈で危険な戦いでは大活躍したんです。

※ちなみに英国海軍の場合は、必ず正式名に HMS が付きます。

そこで戦後に初めてアメリカの GM が作った小型スポーツカーにつけられた名前が「コルベット」。

ま、余談はここまで。「花」はこんなものですが、「鳥」は何だかメンド臭そう。「月」は moon 以外に見つからず、じゃ「風」の名前はどうなんだろうと調べたら、結構、コンパクトで魅力的な風の名前(地方風)の語には蠱惑的な単語が結構あるんですね。

特にヨーロッパ古代から中世史に興味があったので、地中海の船乗りに関する「風の名前」「船乗り用語」「船乗りが嫌がるもの」など地中海の船乗りが使う語彙が豊富になりました。という事で、ウチのコンピュータや Wifi の SSID なんかには、いいも悪いも含めて地中海の船乗りになじみのある自然現象などの名詞が使われています。

ちなみにSSIDの文字列の最大長は32バイトだそうです。そういえば、電車の中でスマートフォンのSSIDを変えて、見知らぬ他人と会話する、という話が一時期話題になったように、2バイト文字も使えますが、お勧めはできません。


軍艦の命名規則には、それぞれお国柄があるようです。特に海軍国である英国艦艇の補助艦には、フラワー級だけではなくリバー級とかタウン級なんて命名規則がありました。アメリカ海軍の場合 USS で始まり、州の名前とか政治家とか、頑張って戦死した二等水兵の名前とか。

ま、そのうち風の名前のセンスに苦しんで、コンピューターのホスト名には北欧の物語に出てくる妖精の名前をかたっぱしから付ける様になりました。英国空軍の機種名やエンジンの名前によく使われています。英国人のセンスですね。名前を見るとユニークでインパクトがあるものをよく見ます。


ユーザアカウント名は8文字以内にすべきか?ユーザの命名規則の理由

- よくある命名規則 -

社内ネットワークが構築され始めたころ、良く客先で見かけたのが「星の名前」や「ギリシャ神話の神」をルールにしているところが多かった。これは単純に使いやすいのと、ゲームの主人公なんかによく使われるんですね。どうも、「天体名」は人気があるそうです。

でもその名前の由来を調べたら、縁起の悪いものもあるので、気を付けたいところです。こういった命名規則を作った趣味人の命名規則。

例えば、片っ端から「ガンダム名」にしてしまうと、

「シャーが死んだ」とか「ザクにバグがある」「ホワイトベースが堕ちた」

なんていう楽しい会話ができます。私にはそんな趣味ありませんけどね。まぁ”ウルトラマンに出てくる怪獣の名前”とか、ま、やめときましょう。最後には倒されるンですから...

フォネティックコードを使うのも一つのアイディアです。短くて誤読、認識性が高い。さすが軍隊の通信に使われるだけあってよく考えてある。

ですが、欠点はアルファベットの26種類しかない事。


明確で単純ですがあまり人気はありません。

自社の製品名、自社のサービス名を使うケースもあるのですが「xxx(自社製品名)が死んでいる」とか「xxxがおかしい」なんて会話が飛び交うと、社内で変な誤解を生んでしまいます。あまり流行らないようですね。

また、プロジェクト名などを付けると、後でそのプロジェクトがポシャって、プロジェクト名が付いたホストが残ると淋しいものです。

また、いくら花鳥風月でも "chrysanthemum" (菊)なんて言うような、舌を噛むような難読名は避けるべきでしょう。私なら「薔薇」って書けません。

- Mnemonic Word listによる命名規則 -


ここでリストアップされた単語は、アクセントや綴りに重複や読み間違えを生みにくい4~7文字の単語のリストです。1626語ありますから選択は自由です。命名規則に関わらず、任意にコンピュータ名に付けたい時には参考になるリストです。

- ガチガチの命名規則 -

これは、どこの現場でも良く見る命名規則です。通し番号は最低2桁、できれば3桁の通し番号を付けます。この方法のメリットは、 # grep | sort した時に見やすい事です。

例えば

  • PRNnnn - プリンタ
  • WPCnnn - Windows 端末
  • DNSnnn - DNS サーバー
  • APSnnn - アプリケーションサーバ
  • FSVnnn - ファイルサーバー

ただ、これだとユーザや管理者から即時認識できないので、[SRV+nnn+PANSY]の様な、機能+機械的な数字+愛称はいいアイディアだと思います。愛称があると判りやすいし、Nattou とか Umeboshi なんてミヤビな名前があれば愛着も沸くものです。でも、自分のPC名が「鶏レバー」だったら愛着は湧きませんが....

実際、意味のない文字列+数字の場合は担当者はさておき、協力会社の担当者さんは即座に識別できないので、何等かの愛称があると識別性が高いという事になります。

ホスト名は「記号化」してしまうと、認識度が低くなり、伝達性を損ないミスタイプを誘います。一意にするための"記号+理解可能な単語"の組み合わせが良いだろうと思いますけどね。

まぁ Linux の場合、ホスト名が影響するのは Samba の Netbios 名程度(設定でホスト名とは違う名前を付けられる)で、後は DNS 名ですから、 DNS 名の命名規則と異なる機械的な命名方法でも構わないでしょう。

- PC端末の命名規則 -

「NetBiosの都合」というややこしい制限があるので、それぞれエンドユーザさんが使うPC一台一台には工夫が必要でしょうね。クライアントPCはネットワーク上では、将棋の「歩」です。それぞれの足軽は「姓」を名乗らない「歩」なので「貫太郎」とか「強右衛門」の様なユニークな名前を与得る場合もある訳です。私も自分のコンピュータ名を「タマちゃん」と呼んでいた時期がありました。

英米の海軍でもこれらの「歩」の様な哨戒艇などには PT-109 とか MTBnnn の様な、記号+通し番号が正式名称だったのですが、実部隊の現場ではお互いを「愛称」や「コールサイン」で識別していたようです。

所詮「足軽」なので、端末は3~4年で入れ替わってしまいます。永続的にホスト名やIPアドレスが使われる、DNSやメールサーバーの様に厳密にする必要はありません。

端末のホスト名は、アセット管理とヘルプデスク、ワークグループの使い勝手を優先目的とします。

「PC+導入年度下二けた+シリアル番号(SKU)下4けた+数バイトの認識名」とかも良いでしょうか。

認識名としては、3バイトの空港コードのように短くて聞き間違えがなく認識性が高いものが良いでしょう。「WPC+3桁の通し番号+3桁の空港コード(HND-羽田,CTS-千歳,NRT-成田)」などです。桁が揃った一意の綴り3文字なので、応用が利きそうです。


修理でマザーボードを交換したとか、USBドングルアダプタで有線化した場合はMACアドレスが変わります。IP や MACアドレス、利用者名などを使うと何れ破綻します。

ー 数字は16進数を使う ー

例えば通し番号を数字二けたとすると 00から99 までの 100 個の個体を識別できるわけですが、これを16進数にすれば 00 ~ FF まで二けたで 256 個の個体を識別できます。 256 はクラスCのひとセグメントですから、大体の中小組織では十分な数です。

3桁 000 ~ FFF を使うと全部で 4096 の識別個体を作れます。中堅企業以上では、これで十分ですね。

ただし先頭には数字を使うべきではありません。

- OS、機種、機能、設置部署、場所、企業名は使わない -

OS 種別を命名規則に取り入れると、例えばWindows で動いていたサービスを Linux に置き換えた場合はちょっと面倒なことになります。

また機器のベンダー名や型番を使うと機器のリプレースの時に面倒な事になります。

設置したオフィスや部門の所在地を使うと、オフィスが移転したときに問題となります。

nnnn の通し番号に IP アドレスを指定している所がありました。リーズナブルなようで、後でハードウェアのリプレースで問題となります。あまり IP や Mac アドレスをコンピュータのホスト名に使うべきではないと思います。仮想化時代なのでいずれ破綻します。

また、「会社名」も避けるべきです。会社名なんてしょっちゅう変わるものなんですね。Windows ドメイン名に「会社名」を付けてすぐに買収されて、泣く泣くドメインを再構築したお客さんがありました。

- 社内向けドメイン名、アクティブディレクトリ(AD)の命名規則 -

「社内向けドメイン?」何ンか変だな。まぁ Microsoft Active Directory を始めとして、イントラネット向けのドメイン名なんですが、

".local" は禁忌ドメイン名です。絶対に使ってはいけません。間違っても AD では ”mycompany.local” で作ると問題がありそうです。Google 大魔神の投票結果なので、探してみてください。

そもそも、"mycompany" という、アナタの所属する組織名は移ろいやすいのですね。ローカルネットワークで使うFQDNに含まれる、ドメイン名、ホスト名はもう少し真面目に考えてもいいのではないのかなと思います。

例えばですよ、あくまでも例えば。

社内向けのDNSのADのローカルドメイン名に local.google.com なんてオレオレドメイン付けてしまって、prn01.local.google.com に印刷してしまった場合、オレオレじゃない本物の Google さんの prn01.local.google.com から極秘文書がジーコジーコとプリントアウトされる可能性があるのですね。ま、考えにくいけど。

だから、社内向けのドメイン名は、インターネットにおいてユニークで唯一無二で、しかも将来においては他人に使われない、変更される可能性がないドメイン名を指定すべきでしょう。会社名.com なんかはよした方がいい。どうせ会社名なんて、いつCIされて変わってしまうかわからないのです。その後 Windows ドメイン名を変えてしまうのは恐ろしく手間がかかる作業になってしまうでしょう。

だから、Active Directory のドメイン名に組織名はつかうべきではないと思うのですが、唯一無二という事なら、思い切って”花鳥風月”の一般名で公式なオレオレなインターネットドメインを取ってしまい、そのサブドメインをイントラネット用ドメイン名にしてしまえば、社名が変わっても将来にわたって使えるわけですね。.NET とか .SITE 何かはかなり安く取得できるので、例えば pansy.site なんかを取得して ad1.ad.pansy.site というドメインを AD や社内向けサービスのドメイン名にするというのも思い切った手段です。


オレオレドメインがもたらす当たり前な問題


- ドメイン名の命名規則からの HOSTNAME の制限 -

FQDNではゾーン名を含め1バイトから最大253文字です。FQDN は hostname.mydomain.com となりますが、ドットの間の「ラベル」に使われる最大文字数は63文字です。従って、「コンピュータのホスト名」の公約数は

1から63文字以内で、かつFQDNも含めて253文字に収まること」

がまず条件になります。SUSE Linux では getconf コマンドで確認できます。Linux のホスト名は最大で64バイトですが、最後は Null なので63バイトという事です。

suse15:~ # getconf -a | grep HOST
HOST_NAME_MAX 64
suse15:~ #

ラベルに使われる文字は、英数字とハイフン、ただしハイフンは「ラベルの先頭と末尾」には使えません。基本的には使わないのが無難。 Windows では "_"(アンダースコア)も利用可能ですが、"_"も Windows では使わない方が無難でしょう。

この63文字の文字制限は hostname コマンドのマニュアルには記載がないのですが、 limit.h に定義されているそうです。

63文字以内です。

ドメイン名の構成

ただし、いくら 253 文字使えるとは言え、長すぎる FQDN 名は避けるべきでしょう。解りやすく、短くが原則です。そもそも文字列が長いと、タイプミスしやすいし、メンドクサイものです。


重要なのは、命名規則で使える文字種、最大、最小文字数などは、&&条件で最小公約数で決める事です。Windows や Netbios で許されても、FQDN の条件に合わない命名規則は、好ましいことではありません。Windows から、他のシステムに移行した場合に問題となる可能性があります。逆に 63 文字のホスト名が付いたシステムを Windows に移植したら、これも問題が出てきます。

- Windows におけるコンピュータ名の規則 -

Windows におけるコンピュータ名も同じく63文字の様です。

Enter your computer name

ただし15バイト以上の「コンピュータ名」はトランケート(丸められる)ようなので、15バイト以内が無難なようです。

なぜなら、"Netbios" という20世紀に作られたDOS時代のレガシーなシステムの残骸を引きずっていて、 FQDN での制限である63バイトより、短い「Windows は15バイトのコンピュータ名」をつけた方が良い様ですね。

しかもNetbios では特殊文字のドットも可能。

勿論、ドット(ピリオド)はFQDNのラベルの区切りになるので、NetBiosでは許されてもコンピュータ名で使うべきではありません。だからADの命名規則では禁止されているという矛盾。また RFC では "_" (アンダースコア)は積極的に推奨されていないようなので、Windows では認められても使うべきではないようです。
 
Active Directory におけるコンピューター、ドメイン、サイト、および OU の名前付け規則

この Netbios 名の制限は、当然 Linux/Unix 系OSで使われる Samba にも影響しますから、 Linux で SMB/CIFS を使う場合は Linux のホスト名とは別に Netbios 名も英数字 15 バイトに収めるのが無難である、ということになります。もっとも BIND なんかで名前解決するなら問題ありませんが、Windows ガチガチなネットワークの場合、制限は

「NetBiosに従え」

ということになりそうです。


- 重要なのは文書化しておく事 -

大体、コンピュータのホスト名の命名規則というのは、管理している人間の趣味で作られるものです。まぁほとんどはその場の思い付きなんですね。

例えば、先頭6バイトの文字規則(ナンバリング規)+愛称名の利用可能なリスト

命名規則の原則は、文書化と認証。必ず文書化して、担当マネージャーのハンコをもらっておく事です。


- まとめ -

  • grep | sort したり、正規表現での検索、スプレッドシートでソートしやすい様、先頭 4 ~ 6 バイトには特殊記号のない規則性を持たせる
  • 基本は英数字のみ15バイト以内に抑える。もっとも短い方がいいのは勿論。
  • 特殊文字は "-" ハイフン以外使わない、と言うより正規表現で特殊処理が必要な文字なので "-" , ”_” の利用も控える。
  • 後半部には規則性のある任意のニンゲンが認識可能な文字を付け加えても構わないが、長い文字列は避ける。
  • 数字で始まるホスト名は避ける。
  • オフィスのストリート名、部署名、社名など、将来も使い続ける可能性がない略字、語句は使わない。
  • 恥ずかしい名前や、難読性なもの、「そういう面白い趣味か」といった名前は避ける。
  • IP アドレスや Mac アドレスの様な変化する可能性のある命名規則はそのうち破綻する。
  • 愛称のストックは常にためておく事。空港コード、フォネティックコードの様なリストを決めておく。


まぁ、RFC1178 に、べき論べからず論があるので、一読しておくことです。

Choosing a Name for Your Computer






by islandcenter | 2019-11-04 13:16 | プライベートクラウド | Comments(0)

SUSE Linux が動くサーバー上の、ハードウェアやソフトウェアの基本的な情報を確認する方法をまとめてみました。

- 元ネタ -

Linux commands to display your hardware information

Linux lshw Command Tutorial for Beginners (6 Examples)

【 lshw 】コマンド――ハードウェアの情報を表示する

Linuxでハードウェア情報を表示させる「lshw」コマンドの使い方


ここで取り上げるコマンドの一覧

- lshw
- inxi
- hwinfo
- lsusb
- lspci
- lscpu
- dmidecode
- free
- hdparm
- lsblk
- fdisk
- smartctl
- sensors
- supportconfig

と、こんな所です


- インストール -

- lshw -
- inxi -

SUSE Linux では lshw と inxi はデフォルトではインストールされません。yast でインストールできない、リポジトリにも登録されていない場合は、手動で1クリックインストールします。

次の記事をご参考下さい。

SUSE で 1 Click インストールができない場合、YaSTにないメニューを追加

SLE15, openSUSE Leap 15.1 では、lshw, inxi パッケージをインストールする必要があります。

※ openSUSE Leap 15.1 の場合、標準レポジトリにありましたが、2019/10 現在、バージョンが古いため software.opensuse.org の1クリック版の方が新しい様です。

※ SLE 15 の場合はパッケージDVDにも、Yast2-MetaPackage-Handlerはレポジトリにもないため openSUSE のソフトウェアサイトから、1 Click インストールします。SLE15 で1クリックインストールするには Yast2-MetaPackage-Handler をダウンロードしてrpm コマンドで手動でインストールします。 software.opensuse.org より search して、yast2 metapackage handler の rpm を手動でダウンロード、インストールします。

a0056607_12162624.png


ダウンロードして

# rpm -i yast2-metapackage-handler-x.x.x.noarch.rpm

その後、lshw パッケージなど、レポジトリにないパッケージを1クリックインストールします。


より "lshw" を search して適合する SLE/openSUSE のディストリビューションのバージョンから 1 click Install


a0056607_12180164.png



ハードウェアの設定、マザーボード、ディスク関連の情報

- hwinfo -

sle15: ~# hwinfo

: 略


sle15: ~# hwinfo --short
a0056607_12191797.png
: 以下略

sle15: ~# lshw -C network
sle15: ~# lshw -short -C network

a0056607_12195916.png

sle15: ~# lshw -short -C memory

a0056607_12211295.png

sle15: ~# lshw -short -C disk

a0056607_12220182.png

sle15: ~# lspci
a0056607_12224474.png

- lsusb -

sles15:~ # lsusb
a0056607_12232860.png

- inxi -

sles15:~ # inxi
a0056607_12240705.png

dmidecode より情報が単純で要点がまとめて出てきます。


- dmidecode -

オプションが豊富で使いこなすのはちょっと難しいかもしれません。

sles15:~ # dmidecode -q

: 省略

sles15:~ # dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
cache
connector
slot

sles15:~ # dmidecode -t bios
a0056607_12250272.png

sles15:~ # dmidecode

: 長いので以下省略


- lscpu -

sle15 ~ # lscpu
a0056607_12254574.png


メモリの使用状況を調べたい

- free -

sle15:/~ # free -m
sle15:/~ # free -g

a0056607_12263549.png


ディスクやパーティション関連の情報を調べたい

- hdparm -

sle15:/~ # hdparm -i /dev/sda
a0056607_12271607.png

- lsblk -

sle15:/~ # lsblk
a0056607_12275100.png

- fdisk -

sle15:/~ # fdisk -l

a0056607_12283086.png

sle15:/~ # fdisk -l /dev/sdX
a0056607_12291282.png

- smartctl -

HDD の S.M.A.R.T 情報を調べてディスクの健康状態をチェックします。

sle15:/~ # smartctl --scan
sle15:/~ # smartctl -i /dev/sdX

a0056607_12295907.png

sle15:/~ # smartctl -a /dev/sdX

: 長いので省略

sle15:/~ # smartctl -l error /dev/sdX
a0056607_12304258.png


ハードウェアのセンサーで、マザーボード周辺の温度をチェック

SLE/openSUSE のディストリビューションのバージョンによってはインストールされていない場合があります。もし入っていない場合

# yast
> Software Management より "sensors" を Search

して、インストールします。

- sensors -

sle15:/~ # sensors-detect
a0056607_12313704.png

: 略

sle15:/~ # sensors
a0056607_12321702.png

- supportconfig -

SLE/openSUSE 固有の supportconfig スクリプトは、ソフトウェアの基本情報を一括して取得し、/var/log/nts_hostname.yyyymmdd.tbz 形式に圧縮するスクリプトです。

SUSE Linux の設定内容を一括して取得する supportconfig

sle15:~ # supportconfig

a0056607_12331012.png

以下省略、20分位かかります。











by islandcenter | 2019-10-08 12:58 | SUSE | Comments(0)

Windows Store の終焉:Microsoft に見捨てられた Windows、Surface Duo は Android に

【速報】Microsoft、Androidが動作する2画面スマホ「Surface Duo」

a0056607_11312281.png
PC Watch

どうやら、Microsoft は、単なる携帯電話、スマートフォンのハードウェアサプライになるらしい。

ディスコンになった Windows Phone に代わり、スマートフォンのOSに Android をマイクロソフトは遂に選択した。

これでは、単に中国製のスマートフォンと変わりがない。

どうせハードウェアは中国生産だろうし、ロゴに "Microsoft Surface" とロゴが入った、

「なんちゃって Microsoft スマートフォン」

である。


たとえ、アカウントが Microsoft に紐づいていても、ダウンロードするアプリケーションは、Gmail や Google カレンダーであり、Youtube の視聴ソフトウェアだろう。検索エンジンは Being ではなく Google がデフォルトだろう。

使われるアプリケーションは、Facebook だったり、Twitter や Instgram であり、Linkedin は入っていても真っ先に削除されるアプリだろう。

Windows Store より豊富な Apple Music や Amazon Prime, Amazon の電子ブックビューワ、が利用されるだけで Microsoft Windows Store からのダウンロードして何かアプリを使うことってできるのかな。m、ないだろう。

もう Windows Phone がディスコンになった時点で Windows Store はその役割を終えたのですね。

Surface Duo...... Microsoft に存在する意味ないね。

Windows Store よ、さらば..........


by islandcenter | 2019-10-03 11:39 | Windows | Comments(0)

Zabbix4を使ってみて、一番不満だったではのは、グラフの機能が貧弱になってしまった事です。

まぁ、sensors と同じ結果を時系列の線グラフ表示できる事がわかってしまったので、これはいいわ、となりました。

じゃぁ、Zabbix4 でディスクの容量管理が、なぜ Zabbix3 でできてしまって、Zabbix4 ではできないのか? 調べてみると Template SNMP Disks というテンプレートが Zabbix4 にはないことを見つけてしまったンですね。

無いなら作るか? いや面倒くさい。だったらモノグサ人間としては Zabbix3 のテンプレートそのまま使えばいいじゃん、という事にしました。





- Zabbix3 アプライアンスからテンプレートを抜き出して Zabbix4 でインポートする -

幸いの事に、ウチの零細テスト環境では Zabbix3.2 ソフトウェアアプライアンスと openSUSE Leap 15.1 の Zabbix4.2.4 が平行して稼働しているので、問題ないのですが、Zabbix3 の環境がなければ次の記事を参考に、どこか手軽な環境、Windows10 の HV だとか、KVM や Live USB などで一時的に動かすのがいいでしょう。

Zabbix3.2 のソフトウェアアプライアンスUbuntu 版をSUSE 仮想環境で試してみた。

Download and install Zabbix

Zabbix3のコンソールにログインして、 Configuration > Template を開き Template SNMP Disks をチェックして、Export ボタンを押して、SNMP-Disks-zbx_export_templates.xml の様な感じで保存します。

a0056607_07102830.png

今度は Zabbix4 のコンソールを開き、Configuration > Template スクリーンから先ほどのテンプレートを Import します。

a0056607_07111645.png

後は、Configuration > Hosts で Host を選択 > Template で先ほどインポートした SNMP Disks テンプレートを、 Select でチェック > "Add" > "Update" します。

a0056607_07115364.png

Host > Applications に Template SNMP Disks: Disk partitions が追加され、item に Storage Discovery: /xxxx という項目がゾロゾロと増えたら、データの収集を始めます。Graphs の横の数字に注意します。

凡そ一時間程で、Disk のパーティション毎の使用容量、残量の Pie Chart が出るようになりました。

これでアチコチでコンソールを開いて df -h コマンドを叩きまくる必要がなくなりました。やれやれです。


a0056607_07134434.png


出来れば、ディスク I/O の折れ線グラフ化なども出来ればいいと思うのですが、モノグサ人間には、ここまでが限界ですかね。どこかにいいテンプレート落ちていないか探索中です。





by islandcenter | 2019-07-24 07:22 | SUSE | Comments(0)

夏の暑い時期になると、急にファンが

「ぐゎーっ」

ってなったりすると、やっぱり温度監視ってこの季節重要だわ、と思います。





- SUSE の sensors パッケージ -

openSUSE/SLE には、sensors パッケージは、YaST > Software Management からインストールできます。

YaSTにリストされない場合、openSUSE のソフトウェアページからブラウザからコマンドなしの1クリックインストールできます。

sensors

sensors-detect を使って定義した後、sensors で確認できます。

a0056607_11522836.png
実際の sensor の使い方は、ここでは述べません。多くの事例が見つかるでしょう。コンピューターの冷却は「風通しが大切」です。



- 問題は筐体温度のグラフ化だ -

いくらコンソールを開いて、"sensors" を叩いてみても、そこにあるのは数字だけ。株価と一緒で上がっているのか下がっているのか、トレンドが見えないと意味がありません。

How to setup zabbix4.2 on openSUSE Leap 15.1 セットアップ


そこで Zabbix の機能で、sensors の筐体温度の遷移値がグラフ化できないかと、探したら、そのものずばりの回答がありました。とても参考になりました。


Zabbixによる温度監視(zabbix-agent版)

DaisukeMiyamoto/CPU_Temperature.xml

これは Zabbix のテンプレートなので、テンプレートに追加して、Host のモニタリングのテンプレートに追加するだけで簡単に動いてしまいました。

a0056607_06352983.png


見事に深夜から未明は温度が下がっているんだ、という事が分ります。素晴らしい!

a0056607_11570674.png

ただ、sensors で見ると6コアなんですが、グラフは4コアしかない。これはテンプレートを見ればわかる通り、4コアしか定義していないからでしょう。最近は恐ろしいほどのコア数のマルチコアCPUもあるので、持っていないけど、機会があればテンプレートを書き換えて試してみたいです。

それにしても、Zabbix や Sensors で示しているのは40℃台なのに、Windows ノートは常時80℃前後。これってどういう違いがあるのでしょうね。


Zabbix4.2.4 でディスクの空き容量をグラフ化してみた

夏の暑さで Windows ノートPCが夏バテでいきなりリブート、再起動する対策



islandcenter.jp





by islandcenter | 2019-07-22 12:03 | SUSE | Comments(0)

openSUSE Leap のデフォルトでは、インストールする際の管理者が、username:this_password です。

インストールする途中で、ユーザを作成する場合、Use this password for system administrator, と Automatic Login にチェックが入っています。

a0056607_14213526.png


普通ならこのチェックを外して、 root のパスワードを設定するのですが、間違ってチェックを入れたままインストールしてしまいました。

やっちゃった....

という事で、

- root にパスワードを設定する。
- オペレーターユーザ名で自動的にログインさせない。

の2点について説明します。




- root のパスワード設定 -

operator@opensuse151:~> sudo passwd root

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for root: operator のパスワード
New password: rootに設定するパスワード
Retype new password: rootに設定するパスワード(確認)
passwd: password updated successfully

operator@opensuse151:~> su
password: rootに設定したパスワード

opensuse151:/home/operator #

- 次に自動ログインを無効にする -

YaST > Security and Users より、ユーザ名を選んで、右下の Expert settings > "Login settings"

a0056607_14194053.png


"Auto Login" のチェックを外します。

a0056607_14203241.png

以上で自動ログインをしない設定にし、 root のパスワードと分離させることができました。

by islandcenter | 2019-07-11 14:25 | SUSE | Comments(0)

SUSE Linux Enterprise 15 sp1 (SLE15sp1 /SLES15sp1) の配布が始まったので、さっそくインストールしてみました。

spなしの SLE15.0 はこちらをご参考下さい

SUSE Linux Enterprise 15 (SLES15) のインストールとファーストインプレッション
https://islandcnt.exblog.jp/238668681/

openSUSE Leap 15.1 はこちらをご参考下さい

openSUSE Leap 15.1 インストールとファーストインプレッション
https://islandcnt.exblog.jp/239244204/


- 準備 -

メディアサイズは約 22Gb あります。インストールDVDが2枚、パッケージDVDが2枚です。
ユニバーサルインストーラなので、この1セットで SLE の全てのパターンがインストール可能です。ただしサイズがでかい。
インストールDVD2枚はそれぞれ1G程度、パッケージDVDは8Gと11Gbです。もはや DVD.ISO とは言えないサイズとなりました。


ダウンロードはこちらから、無料のアカウント登録が必要です。

SUSE Downloads
https://download.suse.com/index.jsp


インストールDVDはまぁ片面一層DVDで良いのですが、パッケージDVDはブルーレイが必要ですね。もっともシンプルにインストールするだけであれば、インストールDVDの1枚目と、パッケージDVDの1枚目しか使いません。

またオンラインでサブスクリプション登録を行えば、インストールDVD1枚目だけで、後はリポジトリからインストールできるのですが、サイズがアレですから、途中で失敗したときのペナルティが大きい。

ここは呑気に22Gbまったり落として、手元の HTTP サーバーに展開しておきました。

# mkdir /srv/www/htdocs/sles15sp1
# mkdir /srv/www/htdocs/sles15sp1/pkg1
# mount -o loop <pat-from>SLE-15-SP1-Packages-x86_64-GM-DVD1.iso /srv/www/htdocs/sles15sp1/pkg1

物理メディアよりは、HTTPかFTPサーバーを用意した方が、繰り返し練習したり、テスト環境構築には便利です。本番運用する前のテスト段階で、SCCのサブスクリプション登録とYOU(YaST Online Update)をすると良いでしょう。
サブスクリプション購入はこちら

SUSE LINUX Enterprise Server
www.suse.com/shop/

ブラウザでダウンロードするより、何か使いやすい http ダウンローダーを使うと良いでしょう。私は BitCommet の HTTP ダウンローダーを使いました。

ちなみに、SUSE も Novell もそうなのですが、ダウンロードリンクは、リダイレクト URL で、有効なのは12時間位です。それ以上ダウンロードにかかるようであれば、途中でダウンロードエラーになります。できるだけ回線のトラフィックが静かな、深夜にダウンロードするのが良いでしょう。

リリースノートはこちら

SUSE Linux Enterprise Server 15 SP1 Release Notes
https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP1/


PR





- インストール開始 -


インストール全体の流れは6分ちょっとの動画にしました。(派手に音出ます)


インストールDVDから起動します。

a0056607_16280317.png

言語と、キーボードチェックです。今回、言語は English キーボードは 101 KB です。
インストールする SLE のバリエーションをチェックします。 SLES 15sp1か、他のバリエーションかをここで選びます。

a0056607_16283839.png

ここで、"Registration" すると、オンラインのリポジトリが使えますが、インストールに恐ろしく時間がかかるので、スキップします。

a0056607_16285746.png


Addon プロダクトのインストールです。
ここでアドオンをインストールしないと「!?」な状態、ほとんどカーネルしかインストールされないので、アドオンをインストールします。物理メディアのDVD(たぶんブルーレイですね)がなかったので、 パッケージDVDのISOを HTTP サーバーに mount -o loop で展開した状態で準備した、ローカルサーバーを使いました。

a0056607_16292190.png

HTTP を選んだので Package DVD1 の iso を展開した HTTP サーバーのURLをセットします。

a0056607_16293793.png

この状態で Server Role の選択ができます。

最低限、YaST や Zypper が使えるように

- Base System
- Desktop Application

の二つはチェックしておきます。追加で

- Server Application Module

もチェックします。

a0056607_16295534.png

SLE 15.0 よりいくつか選択しが増えました。

a0056607_16301556.png

Server Roleを決めます。ここでは gnome Desktop を選びます。YaST さえ使える環境であれば、後で何とでもなります。まだ用途が決まっていない場合は、 gnome Desktop をとりあえず入れておきます。ちなみに SUSE Linux Enterprise Server は gnome デスクトップだけです。 SLES ではなく SLED(Desktop)の場合はもっと選択しが増えます。(たぶん)
a0056607_16303764.png

パーテイションのプロポーザルが出てきました。ここでパーティション構成を変える場合は、Proposal から変更するため Partitioner を起動します。

a0056607_16305423.png


時刻と地域の設定です。地図の中から、大体東京あたりをクリックし、地域を Asia/Japan にします。 Hardware Clock set to UTC はいつもチェックを外します。JST運用ではなく UTC 運用する場合は、このチェックは残しておきます。

a0056607_16320796.png

オペレータ名とパスワードの設定です。openSUSE と異なり、ユーザパスワードはそのままでは root パスワードにならないのがデフォルト設定です。

a0056607_16325094.png

root パスワードをセットします。必ずテストフィールドでキーチェックします。間違って Caps や Num Lock されている場合があります。
a0056607_16331038.png

インストールサマリです。ここでイキオイ余って Install ボタンを押してしまうと、後戻りできないので、よく説明を読んでチェックします。
Fire Wall は無効にし SSH を有効にしました。

既に、インストールが決まっているパッケージがあれば、 Software リンクから追加します。

また、systemd の起動時のターゲットをテキストモードにしたい場合はここで変更します。今回は、グラフィカルモードにしました。
後で YaST でも変更できます。


a0056607_16335245.png


インストールが始まります。ローカル環境に一時的なリポジトリを作ったので、インストールは10分程度で終わり、再起動します。

a0056607_16341753.png

root でログインして、 gnome デスクトップが出てきました。YaST と Terminal アイコンをツールバーに登録しておきます。

a0056607_16350105.png

YaST > System > Network Settings で、IPアドレスの指定と HOSTNAME の指定を行います。SLE Server の場合、デフォルトで Wicked ネットワーク設定です。この辺りが openSUSE Leap 15.1 との違いです。
a0056607_16353509.png

NTPの設定をします。 openSUSE Leap とは違い、デフォルトでは設定されていません。必ず設定するようにしましょう。。

a0056607_16360432.png

NTP の設定が終わりました。

a0056607_16362285.png

- インプレッション -

インストール自体は、以前のバージョン SLE15.0 とほとんど変わらず、使ってみた感じは openSUSE Leap 15.1 と変わらずです。
ただ、ユニバーサルインストーラって、アレだなというか、とにかくサイズがでかい。インストール時のトラフィックの大きさを考えると、リポジトリの専用サーバーは欲しいですね。

とりあえず、ここまでは openSUSE Leap 15.1 と同じ YaST の日本語の文字化け以外は、目に見える目立ったバグもないようです。デフォルト言語を日本語にしないと見つからないバグなので、お客さんには黙っておきましょう。




by islandcenter | 2019-06-29 17:59 | SUSE | Comments(0)