iscsi2
yum search iscsiしてみたらCentOS標準で付いてました。。
・ターゲット (IP : 192.168.1.20)
# yum -y install scsi-target-utils
でインストール
/etc/tgt/targets.confを編集
<target iqn.2009-10.com.hage.hoge:tgtd>
# デバイス指定(ファイルでもOK)
backing-store /dev/sda3
# イニシエータ指定の場合はIP指定
initiator-address 192.168.1.50
</target>
編集が終わったらサービスの起動と確認
# /etc/init.d/tgtd start
# tgt-admin -s
Target 1: iqn.2009-10.com.hage.hoge:tgtd
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: deadbeaf1:0
SCSI SN: beaf10
Size: 0 MB
Online: Yes
Removable media: No
Backing store: No backing store
LUN: 1
Type: disk
SCSI ID: deadbeaf1:1
SCSI SN: beaf11
Size: 412407 MB
Online: Yes
Removable media: No
Backing store: /dev/sda3
Account information:
ACL information:
192.168.1.50
・イニシエータ (IP : 192.168.1.50)
# yum -y install iscsi-initiator-utils
でインストール
※ CentOS4と5でバージョンが違う!ので注意
ここではCentOS4
/etc/iscsi.confを編集
DiscoveryAddress=192.168.1.20
Enabled=no
TargetName=iqn.2009-10.com.hage.hoge:tgtd
Enabled=yes
編集後にデーモンの起動と確認
# /etc/init.d/iscsi start
# iscsi-ls -l
*******************************************************************************
SFNet iSCSI Driver Version ...4:0.1.11-7(14-Apr-2008)
*******************************************************************************
TARGET NAME : iqn.2009-10.com.hage.hoge:tgtd
TARGET ALIAS :
HOST ID : 0
BUS ID : 0
TARGET ID : 0
TARGET ADDRESS : 192.168.1.20:3260,1
SESSION STATUS : ESTABLISHED AT 2009年 10月 15日
SESSION ID : ISID 00023d000001 TSIH 100
DEVICE DETAILS:
---------------
LUN ID : 0
Vendor: IET Model: Controller Rev: 0001
Type: RAID ANSI SCSI revision: 05
LUN ID : 1
Vendor: IET Model: VIRTUAL-DISK Rev: 0001
Type: Direct-Access ANSI SCSI revision: 05
page83 type0:
0:0:0:1: expected length 24, got length 20
page80: 0a
Device: /dev/sda
*******************************************************************************
こんな感じ。
新しく/dev/sdaができているので
# fdisk /dev/sda
# mkfs.ext3 /dev/sda1
# mount /dev/sda1 /opt
とかでフォーマット、マウント。
簡単にiscsiとして使えるけど、ネットワーク帯域食いまくり。
テープデバイス操作
テープデバイスは/dev/st0と/dev/nst0として認識されているっぽい。
/dev/st0 … 自動巻き戻しon
/dev/nst0 … 自動巻き戻しoff
なので複数のファイルをバックアップしたいときはnst0を使う。
・ステータス
mt -f /dev/nst0 status
・巻き戻し
mt -f /dev/nst0 rewind
・バックアップ
tar cfv /dev/nst0 <対象ファイル>
確認を行うときに必要になるので、mt statusでfile_numberを確認すること。
例) # mt -f /dev/nst0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 512 bytes. Density code 0x42 (no translation).
Soft error count since last status=0
File number=1, block number=0, partition=0.
Tape block size 512 bytes. Density code 0x42 (no translation).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN
詳細はman mtで。
innodb高速化
ib_logfile* のおき場所をtmpfsに変えたら早くなりました。
/etc/my.cnfに下記を追加
innodb_log_group_home_dir = /dev/shm
--変更前--
$ mysqlslap --auto-generate-sql --auto-generate-sql-guid-primary --engine=innodb --number-int-cols=3 --number-char-cols=5 --concurrency=300 --auto-generate-sql-write-number=10000 --auto-generate-sql-execute-number=100 --socket=/var/lib/mysql/mysql.sock --auto-generate-sql-load-type=mixed
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 18.046 seconds
Minimum number of seconds to run all queries: 18.046 seconds
Maximum number of seconds to run all queries: 18.046 seconds
Number of clients running queries: 300
Average number of queries per client: 100
--変更後--
$ mysqlslap --auto-generate-sql --auto-generate-sql-guid-primary --engine=innodb --number-int-cols=3 --number-char-cols=5 --concurrency=300 --auto-generate-sql-write-number=10000 --auto-generate-sql-execute-number=100 --socket=/var/lib/mysql/mysql.sock --auto-generat
e-sql-load-type=mixed
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 3.243 seconds
Minimum number of seconds to run all queries: 3.243 seconds
Maximum number of seconds to run all queries: 3.243 seconds
Number of clients running queries: 300
Average number of queries per client: 100
まあ、そりゃそうだ。
そして当然ながら安全性には欠けます。サーバが落ちないことを願う。