All posts by さとーし

CentOS 7 ネットワーク最低限初期設定

CentOS 7になってからいろいろ変わったので,最初に必要な最低限の設定をメモ。
初期状態ではネットワークに繋がっていないことがあるので,ネットワーク接続を有効にするのと,OS起動時に自動で繋がる最低限の設定。

0.端末を開く。
GNOMEなら「アプリケーション」→「ユーティリティ」→「端末」とか。

1.管理されてるネットワークインターフェイスを表示し,ネットワークディバイス名を見る。
$ nmcli device

デバイス     タイプ    状態      接続   
virbr0       bridge    接続済み  virbr0 
eno16777736  ethernet  切断済み  --     
virbr0-nic   ethernet  切断済み  --     
lo           loopback  管理無し  --     

ここで必要なのは e で始まるディバイス名。これをメモしておく。このディバイス名は環境によって変わるようだ。たとえば、ens33 とか、eth0 とか。

2.ディバイスを有効にする。先ほどの e で始まるディバイス名を使うこと。
$ su -
# nmcli c up eno16777736

3.ネットワーク自動起動をyesにして,OS起動時に自動接続にする設定。
# nmcli con mod eno16777736 connection.autoconnect "yes"

4.状態確認
$ nmcli d show eno16777736

GENERAL.デバイス:                       eno16777736
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           XX:XX:XX:XX:XX:XX
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           eno16777736
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        192.168.39.132/24
IP4.ゲートウェイ:                       192.168.39.2
IP4.DNS[1]:                             192.168.39.2
IP4.ドメイン[1]:                        localdomain
IP6.アドレス[1]:                        
IP6.ゲートウェイ:                       

5.接続テストとしてソフトウエアのアップデートをしてみる。
# yum update

LINEで送る

MySQLを手っ取り早く高速化。クエリキャッシュの設定

MySQLサーバでなんかSELECT文が遅いときクエリキャッシュを有効にすれば,手っ取り早く速度の改善ができる。
SQLとかテーブル構造のチューニングとかの方が効果的かもしれないけど,どんなケースでも簡単に即設定できるのが良い。
利点は既存のコードやSQL文を一切変更しなくても,パッと速度が改善する点。
欠点はクエリキャッシュ用にメモリを少し消費することぐらい?かなぁ。

キャッシュの有効期限は,キャッシュしていたクエリで使っているテーブルが変更されるか,別のクエリの
方が良くつかわれていると,キャッシュから取り除かれることがあるぐらい。
よく使われているものはキャッシュに残るようなので,普通は問題ないかな。

MySQLサーバ設定ファイル /etc/my.cnf に追加。キャッシュ容量は16MBの設定をしてみる。

[mysqld]
の下あたりに

query_cache_size = 16M
query_cache_type=1

を追加し MySQLサーバを再起動
/etc/init.d/mysqld restart

参照:クエリキャッシュの動作仕様:http://dev.mysql.com/doc/refman/5.1/ja/query-cache-how.html

LINEで送る

CentOS 6のyum install などがエラーになった時の対策

2014/6/18 15時ごろ,CentOS 6の yum コマンド実行時にエラーになっていた。
原因は yumコマンド実行時に参照しにいくサーバ
http://mirrorlist.centos.org/ が故障(ダウン)しています。
これはミラーサイト切り替えのために必要なので、手動でダウンロードするミラーを指定する方法に変更で回避できます。

sudo vi /etc/yum.repos.d/CentOS-Base.repo

で赤字の部分を追加してください。場所が重要なので、同じになるようにして :wq で保存後 yum update を実行してみてください。

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

LINEで送る

実家の花

デジタル一眼レフ買ったのでいろいろ撮影。

とりあえず実家の花

LINEで送る

Windows8の互換性テストでひっかかったソフト

Windows8が windows.com から 3,300円でダウンロードできる。
そのダウンロード販売のソフトにWindows8互換性テストが含まれているので
確認してみた。このテストはパッケージ版かうとかの人にもお勧め。

http://windows.microsoft.com/ja-JP/windows/buy
から

Pro を ¥3,300 でダウンロードする

をクリックしてWindows8ダウンロード購入ソフトを保存して実行する。

すると,すぐに
Windows8 互換性テスト
が始まった。
以下のソフトがひっかかった。
DVD Player がなくなるのは知っていたけど,
Visual Studio 2010ってだめなのか!?
iTunes の 「承認された PC を削除する」 ってなんだ!? 意味が分からない・・・。

気になるもの一覧:

DVD を再生するにはアプリをインストールしてください
Windows 8 で DVD を再生するには、アプリのインストールが必要な場合があります。

お使いの PC にはセキュア ブートとの互換性がありません
お使いの PC のファームウェアではセキュア ブートがサポートされていないため、Windows 8 で使用できません。

Microsoft Visual Studio 2010 Professional – 日本語
Microsoft Corporation
詳細については、アプリの Web サイトにアクセスしてください

Microsoft Visual Studio 2010 Service Pack 1
Microsoft Corporation
詳細については、アプリの Web サイトにアクセスしてください

Oracle VM VirtualBox 4.1.20
Oracle Corporation
互換性なし

iTunes
Apple Inc.
承認された PC を削除する

LINEで送る

CentOS 6.3(64bit版)のEclipse HELIOS 日本語化手順

Eclipse 日本語化 Pleiadesのサイト
http://mergedoc.sourceforge.jp/index.html#pleiades.html
から Pleiades単体の 最新版    1.3.5とかをダウンロード(ファイル名 pleiades.zip )
(Pleiades All in Oneじゃないよ。All in Oneの一覧ボタンより少し下にある。)

ダウンロードした pleiades.zipを解凍して pluginsとfeaturesの中身を /usr/lib64/eclipse の中のplugins とか features の中にもってくる。


unzip pleiades.zip -d pleiades
sudo mv pleiades/plugins/jp.sourceforge.mergedoc.pleiades /usr/lib64/eclipse/plugins/
sudo mv pleiades/features/jp.sourceforge.mergedoc.pleiades /usr/lib64/eclipse/features/

これらのファイルのオーナーをrootに変更しておく。(まぁしなくても問題ないかも。なんとなく)

sudo chown -R root:root /usr/lib64/eclipse/plugins/jp.sourceforge.mergedoc.pleiades
sudo chown -R root:root /usr/lib64/features/features/jp.sourceforge.mergedoc.pleiades

有効にするために /etc/eclipse.ini 設定ファイルの最後に1行追加。

sudo vi /etc/eclipse.ini



-javaagent:/usr/lib64/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

と追加。(なぜか絶対パスにしないと、起動時エラーになる)

仕上げ。以下のコマンドを実行でEclipseを1回起動。

eclipse -clean

これで日本語化されていればOK。以降はメニューとかから起動やeclipse コマンドで引数なし起動でも日本語化済みで使える。

LINEで送る

twitter botを試してみる。

ツイッターのボットを試してみる。

たま ボット@_tama_bot

昔、アセンブリ言語で人口無能を作ったり、ウェブチャットにボットを作った。おなじく「たま」。毎回おなじキャラクター。喋る猫の設定。

今までは、サーバを持っていないので気軽にできなかった。

LINEで送る

2ch上の書き込みで画像直リンクをアクセス拒否するApacheの設定

2ch上の書き込みで画像直リンクによるアクセス拒否するApacheの設定。

需要ありそうなので記録。


<FilesMatch "\.(?i:gif|jpg|png|jpeg)$">
SetEnvIf Referer "^http://[a-z]+\.2ch\.net" shutout
SetEnvIf Referer "^http://ime\.nu" shutout
order Allow,Deny
Allow from all
Deny from env=shutout
</FilesMatch>

http://ime.nu からのアクセス拒否だけで問題ないと思うが 念のため2ch.netからも含める。

もちろん、URLをコピーしてアドレス欄に張り付けした場合は見えますよ。

LINEで送る

logwatch のディスク空き領域レポートを inode 残量にする

VPSだとハードディスクの容量に対して inode の量が全然少ないので,ディスクの空き領域を気にするより inode の残量を気にする方が適切。

logwatchは毎日ログレポートをメールで送ってくれるログ監視ツール。 そのlogwatchのレポートの1つDisk Space レポートがディスクの容量のレポートなんだけど,それをディスクの inodeの量に変更する方法。

CentOS 5や CentOS 6の場合の設定。

設定ファイルを作成。
vi /etc/logwatch/conf/services/zz-disk_space.conf
ファイルの中身は次の1行のみ。

$df_options = “-i -h -l -x tmpfs”

これで,日々rootに届く logwatch レポートのハードディスク空き領域が inode の量に変更される。

logwatch コマンドを実行するとすぐにレポートを作成して送ってくれる。これで確認する。

# logwatch

ディスク空き領域の他のデフォルト設定ファイルはこちら。 /usr 以下になあるから,あまり書き換えない方がいいだろう。
cat /usr/share/logwatch/default.conf/services/zz-disk_space.conf

# $disk_cmd = “df $df_options”

LINEで送る

VPSサーバの「カゴヤ クラウド VPS タイプA」と「さくらのVPS 1G」を実際に両方使って比較ができた。

サービス・価格・内容には非常に似ているが,実際に使ってみると「非公開の部分」が結構違うようだ。
VPSの仮想化技術の OpenVZ と kvm の違いによるところも大きい。

メモリが全然違う。
カゴヤ OpenVZ : swap が使えない。スワップ作成しても追加できない。メモリが保障メモリと最大メモリの2段階。保障メモリが実メモリで最大メモリがswap領域換算で考えるといいのか?ちょっと乱暴か。バッファが仮想PC上にない。
さくら kvm : swapが使える。自分でスワップを作成しても追加できるのでなにげに限界性能をアップできる。メモリはOpenVZでの保障メモリ相当のようだが,バッファもこのメモリを使う。

カゴヤOpenVZ のssh と サクラkvm の sshを使った感じではカゴヤクラウドVPS は時々キー入力の反応が2,3秒ぐらいないことがある。 さくらのVPSの方はそんなことはない。

どちらのVPSにも共通することは とにかく inodeが少ない。

しかも,どちらもinodeの容量は非公開だ。

inode は ファイルがハードディスク上のどこにあるのかを管理する情報のこと:
http://ja.wikipedia.org/wiki/Inode

どちらのファイルシステムとも inode が 通常のCentOSでデフォルトのままハードディスクをフォーマットしたときに用意される inodeの量の 4分の1もない。
小さいファイルがたくさんあると ハードディスクの容量がいっぱいになる ずっと前にinode を使い切ってしまい,ハードディスクの空き領域がいくらあってもハードディスクが使えなくなる。

実際に,ハードディスクを半分も使わないうちに inodeを先に使い切ってしまう場面に遭遇して困った。

VPSを使う前に inode の容量を確認しておこう。他にもいろいろ制約がある。
CentOS 5 x64 だったら 約100GBのハードディスクの場合,CentOSのデフォルト設定では inode は 約 28MBになる。

以下,ガチ比較情報(2012/7/26現在。改善され,最新と異なる場合があります。):
公開情報ではないので,消されるかも・・・・。(汗)

ハードディスク比較

カゴヤ クラウド/VPS タイプA 

ハードディスクは契約上200GBだが,全容量は最初から1000GBあるように見えているので,自動で1000GBまで拡張できる。(もちろん追加料金必要)サイズを増やすのに再フォーマットや別途手続きが不要な点はよい。だだしIノードが致命的に少ないので,この容量を有効活用することは難しいだろう。
$ df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/simfs 1000G 8.2G 992G 1% /
none 1.0G 4.0K 1.0G 1% /dev
$ df -ih
Filesystem Iノード I使用 I残り I使用% マウント位置
/dev/simfs 3.8M 454K 3.3M 12% /
none 256K 96 256K 1% /dev
$ df -i
Filesystem Iノード I使用 I残り I使用% マウント位置
/dev/simfs 3904333 464716 3439617 12% /
none 262144 96 262048 1% /dev

Iノード数は絶望的に少ない。普通 100GBなら,28Mぐらいあるのに1000GBでたった 3.8M。増やすには上位コースに変更する必要がある。

さくらのVPS 1G
$ df -h
Filesystem Size Used Avail Use% マウント位置
/dev/vda3 97G 22G 71G 24% /
tmpfs 499M 48K 499M 1% /dev/shm
/dev/vda1 251M 118M 121M 50% /boot

$ df -i
Filesystem Inodes IUsed IFree IUse% マウント位置
/dev/vda3 6406144 396962 6009182 7% /
tmpfs 127586 5 127581 1% /dev/shm
/dev/vda1 66264 62 66202 1% /boot

$ df -hi
Filesystem Inodes IUsed IFree IUse% マウント位置
/dev/vda3 6.2M 388K 5.8M 7% /
tmpfs 125K 5 125K 1% /dev/shm
/dev/vda1 65K 62 65K 1% /boot

さくらの1GはカゴヤクラウドVPS タイプAの半分のハードディスク容量だが,Iノードは2倍の 6.2Mある。とはいえ,普通のCentOSなら 100GBでIノードは 28Mぐらいあるので,全然少ない。

メモリについて

カゴヤクラウド VPSは 保障メモリ最大メモリの区別なし。OpenVZなためか,バッファやスワップもなし。そもそも仮想マシン上でのメモリ残量は実際のメモリ残量ではない。保障メモリを超えての割り当ては期待できないが,スワップ領域が無いのでスワップの代わりとして最大メモリが設定されているのだろう。

$ free -m
total used free shared buffers cached
Mem: 2048 770 1277 0 0 0
-/+ buffers/cache: 770 1277
Swap: 0 0 0

スワップ有効コマンドがない。
$ swapon -s
-bash: swapon: command not found

サクラのVPS 1Gは swapは標準で2GBだが,自分でスワップファイルを作成して追加できた。(2GB追加済みの例)
$ free -m
total used free shared buffers cached
Mem: 996 851 145 0 156 203
-/+ buffers/cache: 490 505
Swap: 4095 375 3719

スワップ設定が自分で出来てしまうのは大きい。限界性能を引き上げることが可能。
$ swapon -s
Filename Type Size Used Priority
/dev/vda2 partition 2096472 384684 -1
/swapfile file 2097144 0 -2

CPU の比較

カゴヤ タイプAはコア数3。
サクラの1G はコア数2。

1コアあたりのCPU性能はどちらもほとんど同じだ。

ハードディスクやネットワークやメモリ管理系を複数PCで共有しているので,複数の仮想マシン間でのリソースの取り合いで発生する待ち時間が長いため,CPUは仮想化でも結構余裕がある。この辺はどこのVPSでも同じだろう。

CPUのスペック的にはカゴヤ タイプAの方が少しだけよさそう。でも実速度は他が極端に遅いので大差ないだろう。

カゴヤ クラウド VPS  タイプA

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
stepping : 2
cpu MHz : 2533.500
cache size : 12288 KB
physical id : 1
siblings : 8
core id : 0
cpu cores : 4
apicid : 32
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips : 5067.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: [8]

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
stepping : 2
cpu MHz : 2533.500
cache size : 12288 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips : 5066.84
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: [8]

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
stepping : 2
cpu MHz : 2533.500
cache size : 12288 KB
physical id : 1
siblings : 8
core id : 1
cpu cores : 4
apicid : 34
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips : 5066.82
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: [8]

サクラの1G

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645
stepping : 1
cpu MHz : 2400.084
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor
bogomips : 4800.16
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645
stepping : 1
cpu MHz : 2400.084
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor
bogomips : 4800.16
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

 

ーーー

追記(2012/07/30):

CentOS 6からは OpenVZ でも swapが使えるようになりました。そのためか,カゴヤ クラウド VPSでもswapがつかえるようになりました。

 

追記(2012/09/19):

カゴヤとサクラで OpenVZとkvmが全然逆になっていました・・・。修正しました。
そして,OpenVZとkvmの説明も全部逆ですね。失礼しました。
カゴヤは OpenVZ で サクラは kvmです。
文面,一部修正。

LINEで送る