2012-01-01から1年間の記事一覧
巨大なデータをimportで少しでもリストア時間を短縮したいとき。 my.cnf restore時は堅牢性は必要ないので、binlogやinnodbの二重書き込み等を無効にする。 # log-bin の項目をコメントして起動 # bin_logを無効にできない場合は、せめてsync_binlog = 0 ski…
mysqlは1つのSQLで、1つのテーブルには1つのインデックスしか利用されない。 なので、whereで2つのカラムを条件に指定する場合それぞれのカラムにインデックスを張っていたとしても、(where id = 0 and name = 'hoge' のような) どちらか1つしか利用されない…
何かタイトルが長くてわかりにくいですね。 普通に変数に入れているだけだと、クォートしていても空白区切りで別々の引数として認識される。 foo.sh 【grep "foo bar"】を変数に入れて、それをそのまま実行する。 $ cat foo.sh #!/bin/bash grep='grep "foo …
http://freecode.com/projects/fio http://sourceforge.jp/magazine/08/05/22/0127246 install libaio-devel がいる。 # yum install libaio-devel # wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz # tar zxvf fio-2.0.7.tar.gz # cd fio-2.0.7 # mak…
http://kyoto.pm.org/entry/2012/07/29/195512 主催者のid:shiba_yu36 さん、また会場を提供して頂いたはてな/はてなスタッフの皆さんありがとうございました&お疲れさまでした。 perlでkvm (libvirt) を操作する話をしてきました。ちょっと緊張してしまっ…
mysql停止後ib_logfile* を削除した後、innodb_log_file_size を変更しmysqlを起動する。が、停止する際にログの内容をデータに確実に反映させるために mysql> set global innodb_fast_shutdown = 0;を実行してから停止したほうが良いとのこと。出典忘れた。…
https://github.com/rackerhacker/MySQLTuner-perl/ mysqltuner.pl を実行するだけ。 $ git clone git://github.com/rackerhacker/MySQLTuner-perl.git $ cd MySQLTuner-perl $ perl mysqltuner.pl"!!"の項目が改善すべき項目。 $ perl mysqltuner.pl >> MyS…
LVMを使っていない場合はrescueモードで起動したあとに # mount /dev/sda1 /mnt/sysimageなどとするだけで良いけど、lvmを使っているとそのままではパーティションが見えないのでmount出来ない。 rescue モード起動時にはlvmパーティション領域が有効になっ…
RHEL/CentOS/SL 系のchkconfigのdebian/ubuntu版?久々にdebian触ったら完全に忘れてしまっていた。なぜかdefaultで入ってないのでaptで入れておく。 # apt-get install sysv-rc-conf # sysv-rc-conf --list # sysv-rc-conf exim4 off # sysv-rc-conf exim4 …
http://libguestfs.org/ http://libguestfs.org/guestfs-perl.3.html Sys::Guestfs はcpanにはないので、libguestfsのとこからとってくる or package からinstallする。ちなみに↑のURLのsynopsys は間違っている(古い内容?) なのでinstallした後のperldoc S…
virt-manager からcloneするのはやったことあるけど、cliはなかったのでやってみた。 といってもコマンド1発で終わるのでやってみたというほどのことではなかった。 man virt-clone # virt-clone --original original_vm \ --name new_vm \ --file /path/to…
http://humdi.net/vnstat/ vnStat is a console-based network traffic monitor for Linux and BSD that keeps a log of network traffic for the selected interface(s). サーバのtrafficを真面目に確認/監視したい場合はcacti, mrtg等を使うのが通常だと思…
お名前ドットコムのvpsで使ってるらしいので使ってみた。HTML5対応のブラウザが必要。 http://kanaka.github.com/noVNC/ VNC client using HTML5 (WebSockets, Canvas) with encryption (wss://) support. 動かす localhost:5901 のvnc portにプロキシさせる…
確か昔keepalivedでvrrpするときにも内部でipコマンド使われてて同じことになった記憶がある。ip コマンドで設定されたものはifconfig では表示されないので、サーバのIP見る時はip addr show で見たほうが確実なのでは、と今更思った。なんで今さら言ってい…
ナズェ? # cpan > look PersistentPerl # make make[1]: ディレクトリ `/root/.cpan/build/PersistentPerl-2.22-FqO72S/src' に入ります make[1]: `all' に対して行うべき事はありません. make[1]: ディレクトリ `/root/.cpan/build/PersistentPerl-2.22-FqO7…
/proc/sys/net/ipv4/ 以下のアレ。高負荷時にはチューニングすると良いらしいけど、これを設定して効果が出るような状況にはまだ出くわしたことない。 tcp_fin_timeout default: 60 (秒) tcpのシーケンスでFIN-WAIT2からTIME_WAIT に移行するまでの待ち時間…
設定する、と書いておきながらなんだけど、ミスったら嫌なので設定はGUIでしかやったことない。help はbigpipe だけで叩いたのを見たらだいたいわかる。 persist tableを確認 bigpipe persist show all pool のstatus カレント/最大 接続数とか bigpipe pool…
なんか書いてみた。下の例は携帯電話の時にpersistenceするiRuleなので、PCも含めて全部対象にする場合はswitch -regexp の条件分をまるごとけずって、persist uie [HTTP::header User-Agent] 600 などとしたら良い。 when HTTP_REQUEST { switch -regexp [s…
シェルスクリプト中でset -x と記述するか、(ba)sh -x の引数をつけて実行すれば、実行されている内容が表示されるので、いちいちecho hogehoge などと書いてまわっていかなくてよい。 hoge.sh #!/bin/sh date $ ./hoge.sh 2012年 7月 31日 月曜日 23:10:14 …
最近書くことないので、初歩的なこと書いていくモードにしよう。 cpuのコア数、hyper threading 対応を確認するには/proc/cpuinfo を見たらいい。 processor CPUの論理ID: 同一サーバ上ではuniqueな数字 physical id CPUの物理ID: マルチコア/HTの場合、異な…
defaultはVNC。 libvirt host server virt-manager のディスプレイを削除する ハードウェアの追加からgraphics を選んでSPICEサーバを選択 interfaceとport、passwordは適当に設定 client install # yum install spice-client # apt-get install spice-clien…
# mkfs.btrfs /dev/sda5 # mount /dev/sda5 /home # btrfs sub create /home/hoge # btrfs sub create /home/fuga # mount /dev/sda5 /mnt -o subvol=hoge(/mntと/home/hogeが同じ内容) extのbindでも似たようなことできると思うけど、今のところ使い道が特…
btrfsはまだtechnical preview だけど、lvmのsnapshotを使うとI/Oが遅いので代替案としてやってみた。OS: CentOS 6.3 64bit # yum install -y btrfs-progs # mkfs.btrfs /dev/mapper/vg_hoge-lv_home WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL WARNING!…
man lvm man lvextend man lvreduce man resize2fs あんましlvm使わないので勉強。実験した環境 VG Name vg_hoge LV Name lv_home LV Size 400.00 GiB device /dev/vg_hoge/lv_home ext4(ext3も?)拡大はオンライン(マウントしたまま)で変更可能。縮小はアン…
古いサーバにrvmをgithub から取ってこようとしたらエラーになったよ。 新しいサーバ https://raw.github.com へのRedirectも問題なくアクセスできてる。 $ curl -L -I get.rvm.io HTTP/1.1 301 Moved Permanently Server: nginx/1.0.14 Date: Thu, 21 Jun 2…
http://search.cpan.org/dist/Sys-Virt/lib/Sys/Virt/Domain.pm perldoc Sys::Virt::Domain を見ても"vnc" という記述が見当たらないので直接取ってくることはできなさそうだけど、get_xml_description で仮想マシンの情報をxmlで取ってきて、そこのgraphics…
https://gist.github.com/2716377 $ perl -ne 'print unpack("H*", $_)' < ascii > binary $ perl -ne 'print pack("H*", $_)' < binary > ascii perl便利ですね。別にB-CASをクラックしようとかそういうこと考えてるわけではないです。
http://wiki.opscode.com/display/chef/Ohai http://d.hatena.ne.jp/mikeda/20110918/1316337100 chefを構成するブツの一つらしいけど、単体で使うとkernelのバージョン, cpu, memorylanguages(ruby,perl,python等) のバージョンdevice, ip, mac address/etc…
defaultでは $HOME/perl5/perlbrew 以下にinstallされる。変更したい場合は環境変数 PERLBREW_ROOT を設定。 $ export PERLBREW_ROOT=/path/to/perlbrew_root/ install perlbrew $ curl -kL http://install.perlbrew.pl | bash $ source ~/perl5/perlbrew/et…
perldoc Test::Config::System use Test::Config::System tests => 4; check_package('less', 'package less'); check_package('emacs21', 'emacs uninstalled', 1, 'rpm'); check_link('/etc/alternatives/www-browser', '/usr/bin/w3m'); check_file_conte…