FC2ブログ

[CentOS]コマンド

curl inet-ip.info
グローバルIP調べ


hostname -I
LAN内IP調べ


lspci
PCIデバイス表示。
先頭の数字「例: 00:1f.2」は、左から順に以下。
 「バス番号」 (上記例では00)
 「デバイス番号」 (上記例では1f)
 「ファンクション番号」 (上記例では2)

ここで、SATAコントローラが、INTEL製なのか、ASMedia製なのか、Marvell製なのか、などが確認出来る。
後は、どのSATA HDDが、どのコントローラを使っているか?が見れれば嬉しいが。。。調査中。

lspci -s 00:1f.2 -v
PCIデバイスの詳細表示。
参照先:
http://www.usupi.org/sysad/239.html
https://open-groove.net/linux/lspci-bus-device-check/



lshal
HW(ハードウェア)情報表示

<デバイス名(例:sda)と使用SATAコントローラの確認>

1. lshal | grep sda
とすると、
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sda
などと出る。ここで上述した赤字の
 「バス番号」 (上記例では00)
 「デバイス番号」 (上記例では1f)
 「ファンクション番号」 (上記例では2)
に注目。ここでは、「00:1f.2」ですね。

2.lspci | grep "00:1f.2"
とやると、
00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
と出る。
よって、SATAコントローラはINTEL製と分かる。
別記事でZFS使った際に、zpool createでハングする症状はASMedia製コントローラの問題?と予想してるため、
使用コントローラに過敏になってる。




NFS

<NFSサーバ側>
①yum -y install nfs-utils
②vi /etc/idmapd.conf

Domain = xxxxにする


③vi /etc/exports

/mnt/nfs 192.168.xxx.0/24(rw,root_squash)


④systemctl start rpcbind
  systemctl enable rpcbind
⑤systemctl start nfs-server
  systemctl enable nfs-server

<NFSクライアント側>
上記NFSサーバ設定の、①、②、、④をやる。
あとは、
mount -t nfs 192.168.xxx.xxx:/mnt/nfs /mnt/nfs
などとマウント出来る。


yum -y install net-tools
ifconfigインストール



サービス状態確認

systemctl status sshd
systemctl status rpcbind
systemctl status nfs

systemctl is-enabled sshd
systemctl is-enabled nfs


稼働中サービス確認

systemctl list-units --type=service

systemctl list とまで入力してTAB押すと、list-xxxのxxx箇所の各種オプションが表示される。
systemctl list-units -- とまで入力してTAB押すと、--xxxのxxx箇所の各種オプションが表示される。
systemctl list-units --type とまで入力してTAB押すと、--type xxxのxxx箇所の各種オプションが表示される。




定義されているサービス一覧
systemctl list-unit-files --type=service > STATE(enabled、disabled)も表示される。


サービス停止
systemctl stop firewalld


ベンチマーク(ddコマンド)

# time dd if=/dev/zero of=/mnt/nfs/file_name ibs=1M obs=1M count=1024

次のように実行すると、測定の毎に3秒間の停止を入れながら計3回実行。
# for i in [1] [2] [3];do sleep 3;echo $'\n\n' $i;date;time dd if=/dev/zero of=/tmp/hdparm_write$i.tmp ibs=1M obs=1M count=1024;date;done


yum -y update

2017.1.15夜に実行したら、
3.10.0-327.36.3.el7.x86_64
となった。
途中、DKMSとかいうものが、一部のパッケージをUPDATEしなかったから、もしやる場合は-forceオプションがどうたら出た。

別のPCだと同じやり方で、
3.10.0-514.2.2.el7.x86_64
になってる。(確かスタート時点の状態は同じ)


簡易CPUベンチマーク(/proc/cpuinfo)

# cat /proc/cpuinfo | grep bogomips
bogomips   : 7004.10

この数値がMIPS値。上記はh67での例。


curlコマンド
ファイルダウンロード
curl -O http://hoge/aaa.txt


メラノックスInfinibandドライバインストール
ホスト: CentOS 6.5
HCA: Mellanox MHGH29-XTC ConnectX IB
ドライバ: 入手先
http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
ドライバ: MLNX_OFED_LINUX-3.4-1.0.0.0-rhel6.5-x86_64.tgz

手順:

# tar zxvf MLNX_OFED_LINUX-3.4-1.0.0.0-rhel6.5-x86_64.tgz
# cd MLNX_OFED_LINUX-3.4-1.0.0.0-rhel6.5-x86_64/
# ./mlnxofedinstall
以下パッケージ不足と言われた。
# yum -y install gcc-gfortran tk
# ./mlnxofedinstall
途中、継続して良い?と聞かれるのでyを押す。
 :
Device (01:00.0):
01:00.0 InfiniBand: Mellanox Technologies MT26418 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE] (rev a0)
Link Width: x8
PCI Link Speed: 5GT/s

Installation finished successfully.

Preparing...       ########################################## [100%]
1:mlnx-fw-updater  ########################################## [100%]
Added 'RUN_FW_UPDATER_ONBOOT=no to /etc/infiniband/openib.conf
Attempting to perform Firmware update...
Querying Mellanox devices firmware...
Device #1:
Device Type: N/A
Part Number: --
Description:
PSID:
PCI Device Name: 01:00.0
Port1 MAC: N/A
Port1 GUID: N/A
Port2 MAC: N/A
Port2 GUID N/A
Versions: Currnet Available
FW --
Status: Failed to open device
-------
-E- Failed to query 01:00.0 device, error: No such file or directory, MFE_UNSUPPORTED_DEVICE
Log File: /tmp/MLNX_OFED_LINUX-3.4-1.0.0.0.4092.logs/fw_update.log
Failed to update Firmware.
See /tmp/MLNX_OFED_LINUX-3.4-1.0.0.0.4092.logs/fw_update.log
To Load the new driver, run:
/etc/init.d/openibd restart

# /etc/init.d/openibd restart
Uploading HCA driver: [OK]
mix4_core 0000:01:00.0: DMFS high rate mode not supported
Default coalesing params for mtu:4092 - rx_frames:00 rx_usecs:16
Default coalesing params for mtu:4092 - rx_frames:00 rx_usecs:16
Loading HCA driver and Access Layer: [OK]



CentOS 7.2にもインストールしてみたが、同じログになったポイ。

# ifconfig

ib0: flags=4099<UP,BROADCAST,MULTICAST> mtu 4092
Infiniband hardware address can be incorrect! Please read BUGS section in ifconfig(8).
   infiniband xx:xx:xx:xx:xx:xx:xx:xx:xx:xx txqueuelen 1024 (Infiniband)
   RX packets 0 bytes 0 (0.0 B)
   RX errors 0 dropped 0 overruns 0 frame 0
   TX packets 0 bytes 0 (0.0 B)
   TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ib1: flags=4099<UP,BROADCAST,MULTICAST> mtu 4092
Infiniband hardware address can be incorrect! Please read BUGS section in ifconfig(8).
  :
以下同様


# nmtui

 > Add > Infiniband > 以下設定。 > OK

Profile name = ib0
IPv4 CONFIGURATION
Addresses = 192.168.20.101/24



# systemctl restart network
# ip addr
これでib0にIP設定出来た。
# ping 192.168.20.101 > 自分にはping通る。
# ping 192.168.20.xxx > けど、Infinibandケーブルで直結した相手にはping通らない。

Infiniband入門
http://www.viops.jp/ibday02-BASIC-xsigo.pdf


・HCAのLEDは、緑点灯(物理LINKUP)、橙点灯(論理LINKUP)してる。

https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Testing_Early_InfiniBand_RDMA_operation.html
サーバ側
# ibping -S -C mlx4_1 -P 1
クライアント側
# ibping -c 10000 -f -C mlx4_0 -P 1 -L 2

ibwarn: [19230] _do_madrpc: recv failed: Connection timed out
ibwarn: [19230] mad_rpc_rmpp: _do_madrpc failed: dport (Lid 2)
  :



こっちが正しい方法か?

サーバ側
# ibping -S -d
ibdebug: [29979] ibping_serv: starting to serve...
この状態で止まる。

クライアント側
# ibping -G 0xxxxx > ここは、通信相手(サーバ側)のPort GUID
Pong from g33.(none) (Lid 1): time 0.254 ms
  :
と反応出た。



サーバ側は以下が出る。
ibdebug: [29979] ibping_serv: Pong: g33.(none)
ibwarn: [29979] mad_respond_via: dest Lid 2
ibwarn: [29979] mad_respond_via: qp 0x1 class 0x32 method 129 attr 0x0 mod 0x0 datasz 0 off 0 qkey 80xxxxxx



/etc/init.d/openibd restart
メラノックスInfiniband ConnectX再起動
/etc/init.d/openibd status
メラノックスInfiniband ConnectX状況確認
ibstat
メラノックスInfiniband ConnectX HCAのオペレーション状態とファームウェアの確認
ibhosts
InfiniBand上に接続されるホスト一覧表示。
iblinkinfo
スイッチおよびホストの接続状況表示。
ibswitches
スイッチ一覧表示
ibtracert 1 2
ホスト間でのInfiniBandネットワークの接続性を確認
ibdump
より深いデバッグ用?



ZoneMinderインストール

http://d.hatena.ne.jp/seinzumtode/20141129/1417252211

# wget http://zmrepo.connortechnology.com/el/7.1/x86_64/zmrepo-7-9.el7.centos.noarch.rpm
# yum -y install --nogpgcheck zmrepo-7-9.el7.centos.noarch.rpm
# yum -y install zoneminder

以降は以下のREADMEを見ながら作業。
# less /usr/share/doc/zoneminder-1.30.4/README.Redhat7

# yum -y install mariadb-server
# systemctl enable mariadb.service
# systemctl start mariadb.service

# mysql_secure_installation

Enter current password for root (enter for none): > 未設定なのでそのままENTER
Set root password? [Y/n] > Y
New password: > パスワード入力
Re-enter new password: > パスワード再入力
Remove anonymous users? [Y/n] > Y
Disallow root login remotely? [Y/n] > Y
Remove test database and access to it? [Y/n] > Y
Reload privilege tables now? [Y/n] > Y


# mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
Enter password: > rootパスワード入力

# mysql -uroot -p -e "grant all on zm.* to 'bob'@localhost identified by 'bobpassword';"
Enter password: > rootパスワード入力

# mysqladmin -uroot -p reload
Enter password: > rootパスワード入力

READMEのzmuser/zmpassとは別のアカウント/パスワードを指定したので、以下修正。
# vi /etc/zm/zm.conf

ZM_DB_USER=zmuser > bobに修正
ZM_DB_PASS=zmpass > 先に指定したパスワードへ修正



# vi /etc/php.ini

; date.timezone =
 ↓
date.timezone = "Asia/Tokyo"



SELinuxをDisableにする。
# setenforce 0

# yum -y install mod_ssl

# systemctl enable httpd
# systemctl start httpd

# systemctl enable zoneminder
# systemctl start zoneminder

ZoneMinderサーバーにWebアクセスする前に、80ポートを開通する。
# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload

クライアントPCのブラウザからZoneMinderサーバIPへアクセスすると、Apacheの「Testing 123..」というページは開く。
次はZoneMinderのWeb GUI画面を開くようにする。
# vi /etc/httpd/conf/httpd.conf > これはまだ未完成

DocumentRoot "/var/www/html"
 ↓
DocumentRoot "/usr/share/zoneminder/www"


<Directory "/var/www/html">
 ↓
<Directory "/usr/share/zoneminder/www">




# systemctl restart httpd.service




DNSサーバインストール

# yum -y install bind bind-chroot
# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
これを実行すると、mount元からmount先へマウントされる。

mount元 mount先
/etc/named /var/named/chroot/etc/named
/etc/named.root.key /var/named/chroot/etc/named.root.key
/etc/named.conf /var/named/chroot/etc/named.conf
/etc/named.rfc1912.zone /var/named/chroot/etc/named.rfc1912.zones
/etc/rndc.key /var/named/chroot/etc/rndc.key
/etc/named.iscdlv.key /var/named/chroot/etc/named.iscdlv.key
/run/named /var/named/chroot/run/named
/var/named /var/named/chroot/var/named
/usr/lib64/bind /var/named/chroot/usr/lib64/bind


スクリプトをoffにすると、元に戻り、mount先のファイルがなくなる。(だそうです)

# /var/named/chroot/etc/named.conf
optionsの前にaclを追加。

acl "mylabo-network" {
192.168.11.0/24;
};

options {




options直後の、listen-on port 53 { 127.0.0.1; };、をコメントアウトする。
ここではBINDが名前解決を受け付けるNICインターフェースのIPアドレスを指定。
以下の設定だと、「127.0.0.1」のインターフェースへのアクセスのみ受付するので、
自分自身しか名前解決をすることが出来なくなるため。

options {
#listen-on port 53 { 127.0.0.1; };



options内の以下修正。

allow-query { localhost; };
 ↓
allow-query { localhost; mylabo-network; };



DNSSECをDisableにする。

dnssec-enable yes;
dnssec-validation yes;
 ↓
dnssec-enable no;
dnssec-validation no;



自分で解決出来ない場合にフォワードする、上位DNSサーバの指定。
bindkeys-fileの後、pid-fileの前に追加する。

bindkeys-file "/etc/named.iscdlv.key";

forwarders {
192.168.11.1;
};
forward only;

pid-file "/run/named/named.pid";



赤字を追加。(error (connection refused) resolvingというエラーログの出力抑止。

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
category lame-servers { null; };
};




黒字を入れ子の中に含むように赤字追加。


view "internal" {
match-clients { localhost; mylabo-network; };
match-destinations { localhost; mylabo-network; };

zone "." IN {
type hint;
file "named.ca";
};

/* forward lookup */
zone "mylabo.local" IN {
type master;
file "mylabo.local.lan";
};

/* backward lookup */
zone "11.168.192.in-addr.arpa" {
type master;
file "11.168.192.in-addr.arpa.rev";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

};





次に、正引き用ゾーンファイル(名前解決用情報)を新規作成する。
# vi /var/named/chroot/var/named/mylabo.local.lan

$TTL 3600
@ IN SOA h68.mylabo.local. root.mylabo.local. (
2017061801 ; serial
3600 ; refresh 1hr
900 ; retry 15min
604800 ; expire 1w
86400 ; min 24hr
)

IN NS h67.mylabo.local.
storage IN A 192.168.11.222
h67 IN A 192.168.11.130





次に、逆引き用ゾーンファイルを新規作成する。
# vi /var/named/chroot/var/named/11.168.192.in-addr.arpa

$TTL 3600
@ IN SOA h67.mylabo.local. root.mylabo.local. (
2017061801 ; serial
3600 ; refresh 1hr
900 ; retry 15min
604800 ; expire 1w
86400 ; min 24hr
)

IN NS h67.mylabo.local.
253 IN PTR storage.mylabo.local.





DNS用ポートを開放する。
# firewall-cmd --add-service=dns --zone=public --permanent
# firewall-cmd --reload
# systemctl start named-chroot

Job for named-chroot.service failed because the control process exited with error code. See "systemctl status named-chroot.service" and "journalctl -xe" for details.



エラー原因
1./var/named/chroot/etc/named.conf > 誤記。;でなく:と書いてた。
2./var/named/chroot/var/named/mylabo.local.lan > 誤記。)でなく}と書いてた。
3./var/named/chroot/var/named/data/named.run > これが存在しなかった。touchで空ファイル作成。dataフォルダも作成。
4./var/named/chroot/var/named/data/named.run > アクセス権が無かった。chown named named.runで所有者変更。



これで再度実行すると、今度はエラーなく成功。
# systemctl start named-chroot

# systemctl enable named-chroot

結局いじったファイル(つまり必要と思われるファイル)は以下。

/var/named/chroot/etc/named.conf
/var/named/chroot/var/named/data/named.run
/var/named/chroot/var/named/mylabo.local.lan
/var/named/chroot/var/named/11.168.192.in-arpa.rev






iSCSIイニシエータインストール

# yum -y install iscsi-initiator-utils
# vi /etc/iscsi/initiatorname.iscsi
# iSCSIターゲットサーバーのACL設定と同じものへ

InitiatorName=iqn.2017-07.link.hoge:iscsi.hoge.link



# vi /etc/iscsi/iscsid.conf

# コメント解除

node.session.auth.authmethod = CHAP


# コメント解除してiSCSIターゲット設定と同じものを
node.session.auth.username = username
node.session.auth.password = password



# ターゲットを discovery
# iscsiadm -m discovery -t sendtargets -p 192.168.xxx.yyyy
192.168.xxx.yyyy:3260,1 iqn.2017-07.link.hoge:storage.target00

# discovery後の状態確認
# iscsiadm -m node -o show

# ターゲットにログイン
# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2017-07.link.hoge:storage.target00, portal: 192.168.xxx.yyy,3260] (multiple)
Login to [iface: default, target: iqn.2017-07.link.hoge:storage.target00, portal: 192.168.xxx.yyy,3260] successful.

# 確立しているセッションを確認
# iscsiadm -m session -o show
tcp: [1] 192.168.xxx.yyy:3260,1 iqn.2017-07.link.hoge:storage.target00 (non-flash)

# パーティション確認
# cat /proc/partitions

major minor #blocks name
8 0 xxxxxx sda
8 1 xxxxxx sda1
  :
8 64 xxxxx sde > sdeとして認識されてる



# parted --script /dev/sde "mklabel msdos"
# parted --script /dev/sde "mkpart primary 0% 100%"
# mkfs.xfs -i size=1024 -s size=4096 /dev/sde1
# mount /dev/sde1 /hoge/xxx/xxx

# ターゲットからログアウト
# umount /home/xxx/xxx
# iscsiadm -m node --logout
Logging out of session [sid: 1, target: iqn.2017-07.link.hoge:storage.target00, portal: 192.168.xxx.yyy,3260]
Logout of [sid: 1, target: iqn.2017-07.link.hoge:storage.target00, portal: 192.168.xxx.yyy,3260] successful.



iSCSIターゲットインストール

# yum -y install targetcli
# mkdir /iscsi_disks

管理ツール起動
# targetcli

/> cd backstores/fileio

# disk01.imgを200Gで作成
/backstores/fileio> create disk01 /iscsi_disks/disk01.img 200G

/backstores/fileio> cd /iscsi

# ターゲットを作成
/iscsi> create iqn.2017-07.link.hoge:storage.target00

# LUN を設定
/iscsi> cd iqn.2014-07.world.srv:storage.target00/tpg1/luns
/iscsi/・・・/tpg1/luns> create /backstores/fileio/disk01

# 接続許可するイニシエータのIQNをACLへ設定
/iscsi/・・・/tpg1/luns> cd ../acls
/iscsi/・・・/tpg1/acls> create iqn.2017-07.link.hoge:iscsi.hoge.link

# 認証用ユーザー設定
/iscsi/・・・/tpg1/acls> cd iqn.2017-07.link.hoge:iscsi.hoge.link
/iscsi/iqn.20...i.hoge.link> set auth userid=username
/iscsi/iqn.20...i.hoge.link> set auth password=password

# 終了する
/iscsi/iqn.20...i.hoge.link> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json



# 設定後、以下でリッスン状態になってるか確認
# ss -napt | grep 3260
LISTEN 0 256 *:3260 *:*

# systemctl enable target
# firewall-cmd --add-service=iscsi-target --permanent
# firewall-cmd --reload




SASのWrite Cache状態確認

# hdparm -i /dev/sdb
SATA HDDはこのコマンドで成功したが、SAS HDDは以下のエラーになった。


/dev/sdb:
SG_IO: bad/missing sense data, sb[]: 70 00 05 ・・・
SG_IO: bad/missing sense data, sb[]: 70 00 05 ・・・
HDIO_DRIVE_CMD(identify) failed: Input/output error
HDIO_GET_IDENTITY failed: Invalid argument



調べると、Writeキャッシュをoffするだけなら、以下コマンドで出来るとあるが、CentOSにblktoolをインストールする方法が見つからない。
blktool /dev/sdc wcache off

代わりに、sdparmでSAS HDDは操作出来るらしき事を発見。
# yum -y install sdparm

# sdparm --get=WCE /dev/sdb

/dev/sdb: TOSHIBA MG03SCA100 0108
WCE 1 [cha: y, def: 1, sav: 1]


現在はWrite Cache Enableが1(つまりEnable)って事みたい。

# sdparm --set WCE=0 /dev/sdb
# sdparm --get=WCE /dev/sdb

/dev/sdb: TOSHIBA MG03SCA100 0108
WCE 0 [cha: y, def: 1, sav: 1]


WCEが0になった。

WCE=0の状態でWriteベンチマークを計ってみる。

# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=1024 > 1.6GB/s
# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=2048 > 343MB/s
# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=4096 > 227MB/s
# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=8196 > 193MB/s



続いてWCE=1でWriteベンチマークを計ってみる。

# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=1024 > 1.5GB/s
# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=2048 > 332MB/s
# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=4096 > 226MB/s
# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=8192 > 193MB/s


WCE=0(OFF)の方が遅くなると思ったが、なぜ変わらない?



sdparmコマンド

http://sg.danny.cz/sg/sdparm.html#mozTocId812196

# sdparm --all /dev/sdb1 > デバイスが持つknownパラメータを全て表示。




HDD簡易ベンチマーク

<Read>

# hdparm -t /dev/sdb1


/dev/sdb1:
Timing buffered disk reads: 486 MB in 3.00 seconds = 161.91 MB/sec



<Write>

# time dd if=/dev/zero of=/home/hoge ibs=1M obs=1M count=8192

8192+0 records in
8192+0 records out
8589934592 bytes (8.6 GB) copied, 32.2464 s, 231MB/s

real 0m37.998s
user 0m0.457s
sys 0m7.159s





OpenStack SwiftでRESTFUL APIを試す

以下を参照して環境構築する。

サーバ 1 台で構築する OpenStack Swift Step by Step Guide
http://ja.community.dell.com/techcenter/b/weblog/archive/2012/12/27/osca-1-openstack-swift-step-by-step-guide

# yum -y install https://www.rdoproject.org/repos/rdo-release.rpm
# yum install openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object
# yum install xinetd rsync git xfsprogs memcached
# yum install python-netifaces python-nose python-mock

システム領域とは別にSwiftの領域を作成
# fdisk /dev/sda > これがMG03SCA100
 > g = 

# mkfs.xfs -f -i size=1024 /dev/sda1

meta-data=/dev/sda1 isize=1024 agcount=4, agsize=61047597 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=244190385, imaxpct=25
= sunit=0 swidty=0 blks
naming = version 2 bsize=4096 ascii-ci=0 ftype=1
log = internal log bsize=4096 blocks=119233, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0



# mkdir /mnt/sdb1
# mount /mnt/sdb1
 > これエラーになるが。。。誤記かな?
# mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4
# chown swift:swift /mnt/sdb1/*
# mkdir /srv
 > 既にディレクトリが存在した。過去swift作業した時に作ったか?
# for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done
 > これで例えば /srv/1 -> /mnt/sda1/1 というリンクが作られた。

以下は4回に分けて実行した。
# mkdir -p /etc/swift/object-server /srv/1/node/sdb1
# mkdir -p /etc/swift/container-server /srv/2/node/sdb2
# mkdir -p /etc/swift/account-server /srv/3/node/sdb3
# mkdir -p /var/run/swift /srv/4/node/sdb4
 > /srv/1から/srv/4まで、sdbも1~4になってるが、これって全てsdb1が正しかったりしない?まずは信じて進む。

# chown -R swift:swift /etc/swift /srv/[1-4]/ /var/run/swift

システム起動時にディレクトリ再構築のため/etc/rc.local に以下追記。
# vi /etc/rc.local

mkdir -p /var/cache/swift1 /var/cache/swift2 /var/cache/swift3 /var/cache/swift4
chown swft:swift /var/cache/swift*
mkdir -p /var/run/swift
chown swft:swift /var/run/swift


 ※ 一行目のmkdir -p /var/cache/swift1の1は資料にはなかったが、予想でそうした。

# vi /etc/rsyncd.conf

uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = 127.0.0.1

[account6012]
max connections = 25
path = /srv/1/node/
read only = false
lock file = /var/lock/account6012.lock

[account6022]
max connections = 25
path = /srv/2/node/
read only = false
lock file = /var/lock/account6022.lock

[account6032]
max connections = 25
path = /srv/3/node/
read only = false
lock file = /var/lock/account6032.lock

[account6042]
max connections = 25
path = /srv/4/node/
read only = false
lock file = /var/lock/account6042.lock

[container6011]
max connections = 25
path = /srv/1/node/
read only = false
lock file = /var/lock/container6011.lock

[container6021]
max connections = 25
path = /srv/2/node/
read only = false
lock file = /var/lock/container6021.lock

[container6031]
max connections = 25
path = /srv/3/node/
read only = false
lock file = /var/lock/container6031.lock

[container6041]
max connections = 25
path = /srv/4/node/
read only = false
lock file = /var/lock/container6041.lock

[object6010]
max connections = 25
path = /srv/1/node/
read only = false
lock file = /var/lock/object6010.lock

[object6020]
max connections = 25
path = /srv/2/node/
read only = false
lock file = /var/lock/object6020.lock

[object6030]
max connections = 25
path = /srv/3/node/
read only = false
lock file = /var/lock/object6030.lock

[object6040]
max connections = 25
path = /srv/4/node/
read only = false
lock file = /var/lock/object6040.lock



/etc/xinetd.d/rsyncでdisable=noにするとあるが、そのファイルがないので、代わりに以下。
# systemctl enable rsync
# systemctl start memcached
# systemctl start xinetd

Swiftアップデートのために以下をやるらしい。
# exit
 > ほんとはrootをlogoutして通常ユーザでやるみたいだけど今回rootでやった。
# mkdir ~/bin
# git clone https://github.com/openstack/swift.git
# cd ~/swift
# python setup.py develop

ちょっと前の手順忘れてたのでここで実施。
# vi /etc/fstab




ファイバチャネルアダプタ設定

CentOS 7.3.1611 (Core)
HP AE311A StorageWorks FC1142SR

http://h20564.www2.hpe.com/hpsc/swd/public/readIndex?sp4ts.oid=5246575&swLangOid=25&swEnvOid=4176
ここから以下をダウンロード。
kmod-qlgc-qla2xxx-8.07.00.34.07.0_k1-1.rhel7u1.x86_64.rpm
以下もあるが、これは次の手順でインストールエラーになった。
kmod-qlgc-qla2xxx-8.07.00.34.07.0_k1-1.rhel7u2.x86_64.rpm

# rpm -ivh kmod-qlgc-qla2xxx-8.07.00.34.07.0_k1-1.rhel7u1.x86_64.rpm

# 再起動

WWPNの確認
# cat /sys/class/fc_host/host9/port_name
0x50014xxxxxxxxxxx

光ケーブルで直接つないだ相手PCにpingをうつ。
# fcping -P 0x50014yyyyyyyyyyy
FCoE interface not specified

# vi /etc/fcoe/cfg-ethx



プロキシサーバインストール

HOST = h67
OS = CentOS 7.3.1611
KERNEL = 3.10.0-514.26.2.el7.x86_64

# yum -y install squid
# vi /etc/squid/squid.conf

<変更>
http_access deny CONNECT !SSL_ports
 ↓
http_access deny CONNECT !localhost !SSL_ports

<変更>
http_port 3128
 ↓
http_port XYZ > デフォルトのポート番号から変更する。

<追加>
# プロキシ経由アクセスの隠蔽化
visible_hostname unkown
forwarded_for off
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

# アクセスログ設定
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" >Hs %h" "%{User-Agent}>h" %Ss:%Sh
access_log /var/log/squid/access.log combined



# squid -z

2017/08/0x xx:xx:xx kid1| Set Current Directory to /var/spool/squid
2017/08/0x xx:xx:xx kid1| Creating missing swap directories
2017/08/0x xx:xx:xx kid1| No cache_dir are configured.



# systemctl start squid
# systemctl enable squid

squid.confのhttp_portで指定したポートXYZをfirewallで開放しておく。
# firewall-cmd --zone=public --add-port=XYZ/tcp --permanent
# systemctl reload firewalld

クライアントPCのブラウザでプロキシ設定をする。

firefoxの場合 > オプション > 詳細 > ネットワーク
 > 接続設定、でウィンドウ開く
  > 手動でプロキシを設定する
  > IPアドレスをプロキシサーバのIPに設定
  > ポート番号を、先に決めたXYZに設定
  > 「すべてのプロトコルでこのプロキシを使用する」にチェック
 > OK、でウィンドウ閉じる

これでGoogleを開いてみると、通信に成功した。
wiresharkでパケットを見ると、プロキシサーバに向けてGoogleページ取得のパケットを投げており、動作問題ないようだ。
スポンサーサイト



コメントの投稿

非公開コメント

カレンダー
07 | 2021/08 | 09
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード