概要
サーバを操作するとき、あ、こういう所があったなと思いだすための小技集。
Sudoで、virt-managerとかを開くとき
以下のコマンドを入力することで、sudoでvirt-managerを開く事ができる。
sudo xauth add $(xauth -f ~/.Xauthority list | tail -1)
sudo virt-manager
この時、 auth: file /root/.Xauthority does not exist というエラーが出るかもしれないが、無視する。
サーバのバージョン確認
CentOS / RedHat Enterprise
以下ファイルを確認する。
cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
Ubuntu
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"
Debian
$ cat /etc/debian_version
4.0
osの確認
unameコマンドを用いる
$ uname
Linux
カーネルのバージョン確認
$ uname -r
3.10.0-1062.12.1.el7.x86_64
一斉にpingを打つ。
Linux版
- ネットワークセグメント:192.168.1.0/24
- pingを送る範囲(第4オクテット):1-254
192.168.161~の部分を、指定するネットワークに変える必要がある。
for((i=1;i<=254;i++));do ping -c 1 192.168.161.${i};done
ワンライナー
高速で処理を行う事ができる。
( segment=192.168.161; seq 1 254 | while read i; do ( ping -c 1 -w 1 $segment.$i >/dev/null 2>&1 && echo "$segment.$i responded" )& done )
Windows版
- ネットワークセグメント:192.168.1.0/24
- pingを送る範囲(第4オクテット):1-254
192.168.161~の部分を、指定するネットワークに変える必要がある。
また、これはコマンドプロンプトでないと、起動しないので、注意する。
for /l %i in (1,1,254) do ping -n 1 192.168.1.%i
参考
yumのバージョンを固定するとき。
yumnのバージョンを固定させる&アップデートさせたくないときはversionlockを用いる。
また、アップデートさせないようにするには、/etc/yum.conf
のexcludeにパッケージを指定する。
Telnetコマンド
ファイアウォールの設定などをした後に、対象のポートが開いているかどうかを確認する際に、Telnetコマンドを用いるといいだろう。終わったら、Ctrl + ] で抜け、さらにquitで元のプロンプトに戻ろう。
telnet 接続先IPアドレス ポート番号
コマンド例(以下の例だと、192.168.219.210の1443を調べてる)
telnet 192.168.219.210 1433
成功すると、Connected to ~~ になり、対話モードに なる。
失敗した場合は、rejectedというような表現になる。
[root@kachi-bigip01:Active:In Sync] config # telnet 192.168.219.210 1433
Trying 192.168.219.210...
Connected to 192.168.219.210.
Escape character is '^]'.
[root@kachi-bigip01:Active:In Sync] config # telnet 192.168.219.210 100
Trying 192.168.219.210...
telnet: connect to address 192.168.219.210: Connection refused
パケットキャプチャについて
対象のサーバに対してリクエストがきているのか、通信が来ているかどうかを確認するために、パケットキャプチャを用いよう。
tcpdump
というコマンドを用いる。
例えば、NTPサーバへのリクエストがきているという事を確認するなら、以下コマンドを用いる。ポート名(eth0)に関しては、ip link show
コマンドなどを用いて調べ、そのマシンにあったマシン名を用いよう。
tcpdump -nni eth0 port 123
- -i オプション
- インターフェース名。そのインターフェースにくるパケットを確認する。
- -nオプション
- IPアドレスでの、名前解決(DNS」による)を、無視するオプション。
- -nnオプション
- 上の名前解決に加えて、TCPポートアドレスでの名前解決も無視する。SSH=>22、HTTP=> 80といった形になる。これがあると、表示動作が早い。
- portオプション
- ポート番号を指定する。22ならSSHとか、上の123なら、NTPとか。
ディスクの速度確認
ディスクの速度はddコマンドで測る事ができる。
dd if=/dev/zero of=0.dat bs=16M count=256
以下の内容であれば、4.3GBの読み込み速度は4秒。
[user1@server1 ~]$ dd if=/dev/zero of=0.dat bs=16M count=256
256+0 records in
256+0 records out
4294967296 bytes (4.3 GB) copied, 4.23372 s, 1.0 GB/s
これだと2秒
[infadmin@eqstg-vadb-89 ~]$ dd if=/dev/zero of=0.dat bs=16M count=256
256+0 records in
256+0 records out
4294967296 bytes (4.3 GB) copied, 2.78263 s, 1.5 GB/s
サーバのディスクフォーマット
サーバのハードディスクをフォーマットし、データを削除できる。
以下コマンドで、ディスク構成を事前に確認。
sudo fdisk -l
Disk /dev/sda: 587.1 GB, 587127480320 bytes, 1146733360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x00011144
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 17393663 8388608 82 Linux swap / Solaris
/dev/sda3 17393664 1146732543 564669440 83 Linux
その後、DVDや、USB、サーバならIPMIから、UbuntuのISOをマウントし、サーバを起動させる。
ブートメニューから対象のブート方法を選択し、起動させる。
その後、cmdをデバイスファイルの個数分だけ起動させ、以下のコマンドを実行する。
sudo shared -n 3 /dev/sda -v
sudo shared -n 3 /dev/sdb -v
sudo shared -n 3 /dev/sdc -v
sd*
で実行する事も可能ではあるが、デバイスファイルの分だけ並列して実行できるため、
終了時間が短い。
なお、-n はランダム情報を書き込む回数
、-vは進捗
を表す。