So-net無料ブログ作成
スポンサードリンク

messageログに”imuxsock lost 100 messages from pid 1000 due to rate-limiting"が出た時の対処 [Linux]

/var/log/message
jun 1 10:00:00 hostname rsyslogd-1000: imuxsock lost 100 messages from pid 1000 due to rate-limiting
のようなログが出た場合、rsyslogが処理出来なかったメッセージを捨てましたよということみたいです。
ログ出力が多いアプリをrsyslog経由にすると出るようになるのかな。
エラーから見ると100メッセージほど捨てられているようです。

対応方法は
/etc/rsyslog.conf
にログの制限を広げる以下の2行を追記するか、
$SystemLogRateLimitInterval xx(秒数)
$SystemLogRateLimitBurst xxxx(メッセージ数)
デフォルトは5秒、200メッセージみたいです。

リミット無しにする以下の行を追記すれば解決するようです。
$SystemLogRateLimitInterval 0

サーバのスペックが高く、余裕も有るようでしたらリミット無しの方がよいかも。
rsyslog.confを変更したら、rsyslogを再起動。
service rsyslog restart ※CentOS6など
systemctl restart rsyslog ※CentOS7など

あとはmessageログを確認して、該当のログが出ていないことを確認する。

teratermでLinuxへSSHで接続出来なかった時のメモ [Linux]

既存のサーバ(CentOS6)にsshdの設定をして起動し、teratermでサーバに接続するとエラーが出て接続が出来なかった。

SSHパケットを送信中に通信エラーが発生しました。
切断します。(WSAAsyncSelect1:10093)

/etc/ssh/sshd.conf
の設定に拒否するような設定は無し。

iptablesの設定にも問題無し。
service iptables stop
で、停止しても状況変わらず。

TCPWrappersの設定を見ると、
/etc/hosts.allow
に、記述有り。
sshd: 192.168.0.
を追記したら、teratermからsshで接続出来るようになった。

NTPサーバの動作確認でエラーが出た場合 [Linux]

CentOS6やCentOS7をインストール後に、NTPをインストールし、
/etc/ntp.conf
を設定後、ntpdを起動。
しばらくして、NTPDの動作確認で、
ntpq -p
コマンドを入力すると、
localhost: timed out, nothing received
***Request timed out
とエラーが出る時がある。
時間を置いて、試してみるが変わらず。

調べてみると、IPv6が問題らしい。
/etc/ntp.conf
の中にある
restrict ::1

restrict -6 ::1
へ変更し保存し、ntpdを再起動すれば正常に動作した。
LAN内で、ntpdの上位がIPv6未対応だと出るのかな。
WAN接続でデフォルト設定のままで起動するとエラーにはならなかったし。

OSでIPv6を無効にしていたら、このエラーは出ない。

SELINUXの無効化と確認 [Linux]

Centos6や7でサーバーを構築するときに、SELINUXを無効化にした方が良いことが多いので、無効化する方法。
selinuxディレクトリ配下にあるconfigファイルを編集
~]# vi /etc/selinux/config

SELINUX=enforcing
 ↓
SELINUX=disabled

保存して再起動すると、無効化になる。

SELINUXが有効なのか無効なのかを確認する方法。
~]# getenforce
を実行すると
有効なら
Enforcing
無効なら
Disabled
と表示される。

ファイル表示にも変化があって、リスト表示すると、
mnt]# ls -al
合計 4
drwxr-xr-x. 4 root root 28 1月 7 21:30 .
dr-xr-xr-x. 17 root root 4096 1月 7 21:28 ..
drwxr-xr-x 2 root root 6 1月 7 21:30 NFS
drwxr-xr-x. 2 root root 6 1月 6 20:47 cdrom

アクセス権の後ろにドット”.”があるものは、SELINUXが有効な特に作成されたもの。
ドットが無いものは無効の時に作成されたもの。
なので、何らかのファイルまたはディレクトリを作成すれば、有効なのか無効なのかを
確認することが出来る。

SELINUXが無効化されていたのを有効化した場合は、再起動に少し時間が掛かる(再起動中に再起動する)。
無効化の時に作成したファイルやディレクトリもリスト表示すると
drwxr-xr-x. 4 root root 28 1月 7 21:30 .
dr-xr-xr-x. 17 root root 4096 1月 7 21:35 ..
drwxr-xr-x. 2 root root 6 1月 7 21:30 NFS
drwxr-xr-x. 2 root root 6 1月 6 20:47 cdrom

ドットが付いて無かったファイルにもドットが付くようになる。

Linuxでisoファイルを作成する方法 [Linux]

VMなどのOSで使用するのに有ると便利なisoファイル。
このファイルが無いと、VMのゲストOSをインストールするのにOSのCDROMやDVDROMが必要となる。
isoファイルが有ればメディアをセットしなくても、指定するだけでインストールが可能となり便利。

まず、CDROMまたはDVDROMをセットしてマウント
マウントしなくても出来ますが、念のため。

mount -t iso9660 /dev/cdrom /mnt/cdrom

で、ddコマンドでisoファイルを作成する。

dd if=/dev/cdrom of=/tmp/osname.iso

で、しばらくするとファイルが作成される。

あとはVMでゲストOSをインストールするときに、作成したisoファイルを指定すればOK。

Linuxインストールした後にしておいた方が良い設定(sshd) [Linux]

CentOSやFedoraなどのLinuxをインストールすると、どのタイプ(ServerとかDesktopなど)でもインストールされるのが、sshdですね。
CentOSのminimalインストールでもsshdはインストールされていたので、どうやっても入るものだと思います。
また、インストール直後から起動しているみたいです。

[root@localhost ssh]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

ローカルのみで使用するのであれば、特に問題は無いと思うのですが、社内ネットワークやグローバルで公開サーバなどで使用する場合は、何らかの変更はしておいたほうが良さそうです。
特にデフォルトでは、rootユーザーでログインが出来るので、パスワードがバレると大変なことになります。

使用しないのであれば、停止したほうが良さそうですね。

[root@localhost ssh]# service sshd stop
Stopping sshd: [ OK ]

[root@localhost ssh]# chkconfig sshd off
[root@localhost ssh]# chkconfig --list sshd
sshd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

使用するのであれば、最低限rootユーザーでログイン出来ないようにしましょう。

vi /etc/ssh/sshd_config

PermitRootLogin no ← デフォルトはyesでコメントアウトされている

出来れば、鍵認証にした方が良いですね。

[root@localhost ~]# ssh-keygen

vi /etc/ssh/sshd_config

PasswordAuthentication no ← デフォルトはyes

で、鍵認証のみでログインが出来ます。

暗号化されていますが、安心して良いのは通信だけで、アカウントがバレると意味が無いですね。
Linux入れると勝手に入っているものなので忘れがちですが、対応はしておいたほうが良さそうですね。

CentOS7のネットワーク設定 [Linux]

CentOS7のネットワーク設定ですが、今までと違ってインターフェースの名前が変わっています。
今までは「eth0」とか「eth1」でしたが、CentOS7では「eno16777736」等の名前になってます。
当然、ifconfigで表示させると、
#ifconfig
eno16777736: flags=4163 (UP,BROADCAST,RUNNING,MULTICAST) mtu 1500
inet 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::20c:29ff:fe66:d4d4 prefixlen 64 scopeid 0x20
ether 00:0c:29:66:d4:d4 txqueuelen 1000 (Ethernet)
RX packets 15 bytes 1188 (1.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 3683 (3.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
のような表示がされます。
「eno16777736」の表記はPCによって変わるかもしれません。


一時的にネットワーク設定をする場合は、従来と同じコマンドでインターフェース名を表示された名前で入力すれば変更が出来ます。
#ifconfig eno16777736 192.168.0.201 netmask 255.255.255.0

再起動後も設定を反映したいときは、nmcliコマンドを使用します。
#nmcli d
DEVICE TYPE STATE CONNECTION
eno16777736 ethernet connected eno16777736
lo loopback unmanaged --
で、NICの確認

#nmcli c modify eno16777736 ipv4.addresses 192.168.0.201/24
で、IPアドレス(IPv4)の設定

インターフェースの再起動で反映。
#ifdown ifcfg-eno16777736
#ifup ifcfg-eno16777736
またはネットワークの再起動かな。
#service network restart

nmcliコマンドでも出来るみたい。
#nmcli c down eno16777736; nmcli c up eno16777736

デフォルトゲートウェイとか、DNS設定もnmcliコマンドで設定。
#nmcli c modify eno16777736 ipv4.gateway 192.168.0.1
#nmcli c modify eno16777736 ipv4.dns 192.168.0.1

設定後はネットワークIFの再起動で反映。

設定の確認も
#nmcli d show
で、確認が出来ます。
#nmcli d show eno16777736
で、eno16777736のみ表示。
慣れるとこちらの方が楽なのかな。
当然、
/etc/sysconfig/network-scripts/ifcfg-eno16777736
を編集しても設定変更可能ですね。

dumpで差分・増分バックアップ [Linux]

dumpを使用したフルバックアップは
dumpとrestoreを使ったOSフルバックアップとリストアの注意点のバックアップ編 
を参照。
差分の取り方は対象パーティションのフルバックアップをした後にする。
フルバックアップ
dump -0f root.dmp /dev/sda3
※/ディレクトリをマウントしている/dev/sdaをフルバックアップ
を実施した翌日とかに
dump -1f root-1.dmp /dev/sda3
で、フルバックアップの差分を取得することが出来ます。
更にその翌日に
dump -1f root-2.dmp /dev/sda3
とすると、フルバックアップの差分が取得出来ます。
もし、増分バックアップにする場合は
dump -2f root-2.dmp /dev/sda3
とすれば、root-1.dmpからの増分バックアップが取得出来ます。

2日分のリストアするときに必要なファイルは
差分の場合は
root.dmpとroot-2.dmpファイルでリストアが可能ですが、
増分の場合は
root.dmpとroot-1.dmpとroot-2.dmpが必要となります。

差分のメリットはリストアが楽、デメリットはデータが大きくなる可能性がある。
増分のメリットはバックアップ時間が短い、、デメリットはリストアに手間が掛かる。
といったところでしょうか。

サーバの環境によって使い分けるしかないですね。

CentOS6.7のルーティング情報に169.254.0.0の表示 [Linux]

CentOS6.7をインストールして、ネットワークの確認などでルーティング情報を確認すると、
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 1002 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0

169.254.0.0」というネットワークアドレスが表示されてました。
何処かで見たようなアドレスだなと思っていたら、Windows98(SEだったかな)のころによく見た、APIPAのアドレスですね。
確かIPアドレスを設定していなくて、DHCPサーバが無いときに自動的に振られるIPアドレスのネットワークアドレスだったと思います。
サーバー用途で使用することの多いLinuxで必要なのかなと思うのですが、クライアント用途も増えてきているので有ったほうが良いのかな。
ともかく、この表示が有っても問題は無いと思うのですが、見た目が良くないので無効にした方が良いですね。

無効の仕方は
/etc/sysconfig/network
または
/etc/sysconfig/network-scripts/ifcfg-eth0 ※インターフェース毎

NOZEROCONF=yes
を追加すれば、無効にすることが出来ます。
前者はネットワーク全体で、後者はインターフェース毎になるのかな。
あと、
/etc/networks

link-local 169.254.0.0
というのも有れば、こちらもコメントアウトなどで無効にした方が良いかも。
変更が終わったら、ネットワークの再起動で、
service network restart
が完了すると、
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0
無事に表示されなくなりました。

しかし、このAPIPA機能って必要なんですかね。使うことも無いし、有って良かったことも無いのですが。

dumpとrestoreを使ったOSフルバックアップとリストアの注意点のリストア編その2 [Linux]

前回、バックアップファイル用ディレクトリにバックアップファイルを置いたので、次はリストア作業です。
その前にHDDのディレクトリを作成です。
fdisk /dev/sda ※HDDがSATA接続の場合。詳しくはfdisk -lで確認。
で、fdsikを実行し既存のパーティションを削除、その後に作成。
基本的にリストアするファイルより容量が大きければ良いみたいです。
パーティションを作成したら、ブートパーティションを選択。これを忘れると後が面倒くさいかも。
作成が終わったら、各パーティションのフォーマットを実施。
mke2fs -t ext4 /dev/sda1
swapは
mkswap -c /dev/sda2
で、フォーマットが終わったらラベル付。
e2label /dev/sda1 /boot
など。次はリストア用ディレクトリの作成。
mkdir /restore ※名前はなんでも良い。
作成したディレクトリにルートディレクトリのパーティションをマウント
mount -t ext4 /dev/sda3 /restore
restoreディレクトリへ移動し、
cd /restore
ルートディレクトリのリストア。
restore -rf /backup/root.dmp
ルートディレクトリのリストアが終わったら、今度は/bootのリストアの前にマウント。
mount -t ext4 /dev/sda1 /restore/boot
マウントが終わったら、リストアを実行。
cd /restore/boot
restore -rf /backup/boot.dmp
で、ファイルのリストアが完了です。
これで再起動したら、元に戻れば良いのですが、そうはいかないようです。
各パーティションにはUUIDというのが有って、これがgrub.conffstabに記述されているのですが、
このUUIDがディスク交換やパーティションの変更、フォーマットなどで変わるので、
変わるたびに記述を変更しないと上手く起動してくれません。
現在のディスクのUUIDを調べるには
blkid
で確認が出来ます。
各パーティションのUUIDをメモして、
vi /boot/grub/grub.conf
vi /etc/fstab
で、該当するUUIDを変更します。
これで準備OK。運が良ければ再起動で起動します。
運が悪いと再起動しません。この場合は、grub(ブートローダー)をインストールします。
方法はレスキューモードで起動し、最後のメニューでContinueを選択し、/mnt/sysimageをマウントするようにします。
shellで起動し、
chroot /mnt/sysimage
を実行後に、
grub-install /dev/sda
で、grubのインストールが完了です。
あとは再起動でCentOSが起動すると思います。
初回の起動時はSELINUXの関係かどうかはわからないですが、少し時間が掛かるようです。
2回目以降の起動は問題は無かったので、イニシャライズかなにかしてるのかな。

スポンサードリンク
シャンパン酵母エキス