ぼぶろぐ -41ページ目

ぼぶろぐ

以前は、あいらぶLinux♪というタイトルでしたが、
最近はLinux以外のことも書いているので、タイトルを変更しました。
ぼぶちゃんのぶろぐでぼぶろぐです。

■tarをバージョンアップしてみました


とあるファイルの拡張子が"xz"を解凍しようとしたところ、

私のつかっているLinuxのtarでは対応していなかったようです。


このサイトを参考に以下を実行してみる


・Linuxでのファイルの圧縮・解凍
http://linuxserver.jp/Linux/Linux%E3%81%A7%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%9C%A7%E7%B8%AE%E3%83%BB%E8%A7%A3%E5%87%8D.php


[root@bobchan bobchan]# tar Jxvf FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz
tar: invalid option -- J
Try `tar --help' or `tar --usage' for more information.


-Jオプションが無いようです…


この時のtarのバージョンは、1.15でした。

[root@bobchan bobchan]# tar --version
tar (GNU tar) 1.15.1



以下のページを見ると1.22から-Jオプションが使えるみたいです。


・Tar
http://www.gnu.org/software/tar/#downloading



早速、最新のパッケージ(1.26)をダウンロードして入れてみます。
手順は以下を参考にしてます。


・【 「tar.gz」ソース・パッケージをインストールする 】
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231211/


[bobchan@bobchan ~]$ tar zxvf tar-1.26.tar.gz
tar-1.26/
tar-1.26/m4/
tar-1.26/m4/lib-link.m4
tar-1.26/m4/include_next.m4
tar-1.26/m4/strndup.m4
tar-1.26/m4/mempcpy.m4
tar-1.26/m4/inttypes_h.m4
:
(省略)


[bobchan@bobchan ~]$ cd tar-1.26
[bobchan@bobchan tar-1.26]$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
:
(省略)


[bobchan@bobchan tar-1.26]$ make
make all-recursive
make[1]: Entering directory `/home/bobchan/tar-1.26'
Making all in doc
make[2]: Entering directory `/home/bobchan/tar-1.26/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/bobchan/tar-1.26/doc'
Making all in gnu
make[2]: Entering directory `/home/bobchan/tar-1.26/gnu'
GEN alloca.h
:
(省略)

[bobchan@bobchan tar-1.26]$ su
Password:
[root@bobchan tar-1.26]# make install
Making install in doc
make[1]: Entering directory `/home/bobchan/tar-1.26/doc'
make[2]: Entering directory `/home/bobchan/tar-1.26/doc'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/share/info" || /bin/mkdir -p "/usr/local/share/info"
/usr/bin/install -c -m 644 ./tar.info ./tar.info-1 ./tar.info-2 '/usr/local/share/info'
make[2]: Leaving directory `/home/bobchan/tar-1.26/doc'
make[1]: Leaving directory `/home/bobchan/tar-1.26/doc'
Making install in gnu
make[1]: Entering directory `/home/bobchan/tar-1.26/gnu'
make install-recursive
:
(省略)

[root@bobchan tar-1.26]# tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html >.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.


バージョンアップが完了しました。



最初のファイルを再度解凍してみる


[root@bobchan bobchan]# tar Jxvf FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz
tar (child): xz: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now


ん?なんかうまくいかない…

tarは関係なさそうなので、解凍するための別の方法を調べます。


【追記】

どうやらtarで解凍できるのは、tar+xz形式のものだけのようでした。

xzを解凍するためにはxzをインストールする必要があるということがわかりました。

また、とても初歩的なところでつまづいていることがわかりました…


Linux - 圧縮・解凍

http://www10.atwiki.jp/shirayuu/pages/42.html



なので、xzをインストールしてみました。


XZ Utils の使い方

http://s-yata.jp/docs/xz-utils/



[root@bobchan bobchan]# yum install -y xz xz-devel
Failed to set locale, defaulting to C
Loaded plugins: downloadonly, fastestmirror, priorities, versionlock
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* rpmforge: apt.sw.be
* updates: ftp.iij.ad.jp
updates | 1.9 kB 00:00
108 packages excluded due to repository priority protections
Reading version lock configuration
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xz.i386 0:4.999.9-0.3.beta.20091007git.el5 set to be updated
--> Processing Dependency: xz-libs = 4.999.9-0.3.beta.20091007git.el5 for package: xz
--> Processing Dependency: liblzma.so.0 for package: xz
---> Package xz-devel.i386 0:4.999.9-0.3.beta.20091007git.el5 set to be updated
--> Running transaction check
---> Package xz-libs.i386 0:4.999.9-0.3.beta.20091007git.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Installing:
xz i386 4.999.9-0.3.beta.20091007git.el5 base 146 k
xz-devel i386 4.999.9-0.3.beta.20091007git.el5 base 40 k
Installing for dependencies:
xz-libs i386 4.999.9-0.3.beta.20091007git.el5 base 100 k

Transaction Summary
======================================================================================================================================================
Install 3 Package(s)
Upgrade 0 Package(s)

Total download size: 286 k
Downloading Packages:
(1/3): xz-devel-4.999.9-0.3.beta.20091007git.el5.i386.rpm | 40 kB 00:00
(2/3): xz-libs-4.999.9-0.3.beta.20091007git.el5.i386.rpm | 100 kB 00:00
(3/3): xz-4.999.9-0.3.beta.20091007git.el5.i386.rpm | 146 kB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------
Total 110 kB/s | 286 kB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : xz-libs 1/3
Installing : xz-devel 2/3
Installing : xz 3/3

Installed:
xz.i386 0:4.999.9-0.3.beta.20091007git.el5 xz-devel.i386 0:4.999.9-0.3.beta.20091007git.el5

Dependency Installed:
xz-libs.i386 0:4.999.9-0.3.beta.20091007git.el5

Complete!
[root@bobchan bobchan]# xz -dv FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz
FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz (1/1)
100.0 % 1970.7 MiB / 2171.5 MiB = 0.908 12 MiB/s 2:57
[root@bobchan bobchan]# ls -l FreeBSD-8.2-RELEASE-i386-dvd1.iso
-rw-rw-r-- 1 bobchan bobchan 2276931584 Sep 20 01:29 FreeBSD-8.2-RELEASE-i386-dvd1.iso


うまく解凍することができました。

■Solaris10のIPMPをIPv6で設定してみる


あいらぶLinuxと言っておきながらSolarisの設定変更をしています…


もともとIPv4でIPMPが設定されているインターフェースに
IPv6アドレスを追加して、IPv6でIPMPを設定しました。


参考サイト

IPv6 stacking for Sun Solaris9/10

http://negi.ipv6labs.jp/shared/ipv6-stacking.html


・変更前のifconfig


bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.11.203 netmask ffffff00 broadcast 192.168.11.255
ether 0:c:29:5d:35:12
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.168.11.102 netmask ffffff00 broadcast 192.168.11.255
groupname IPMP
ether 0:c:29:5d:35:1c
e1000g1:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3
inet 192.168.11.100 netmask ffffff00 broadcast 192.168.11.255
e1000g2: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet 192.168.11.101 netmask ffffff00 broadcast 192.168.11.255
groupname IPMP
ether 0:c:29:5d:35:26



以下のコマンドを実行して、IPMPの設定をしました。

(e1000g1がactive、e1000g2がstandby)


bash-3.00# ifconfig e1000g1 inet6 plumb
bash-3.00# ifconfig e1000g1 inet6 up
bash-3.00# ifconfig e1000g2 inet6 plumb
bash-3.00# ifconfig e1000g2 inet6 up

bash-3.00# ifconfig e1000g1 inet6 -failover group IPMP addif 2001:cf8:xxxx:xxxx::35/64 up
Created new logical interface e1000g1:1
bash-3.00# ifconfig e1000g2 inet6 -failover group IPMP standby up


上記コマンド実行時に192.168.11.102に連続pingを実施したところ
私の環境ではパケットロスはありませんでした。

(192.168.11.102はIPv4のIPMPの通信用IPアドレスです)



・変更後のifconfig


bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.11.203 netmask ffffff00 broadcast 192.168.11.255
ether 0:c:29:5d:35:12
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.168.11.102 netmask ffffff00 broadcast 192.168.11.255
groupname IPMP
ether 0:c:29:5d:35:1c
e1000g1:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3
inet 192.168.11.100 netmask ffffff00 broadcast 192.168.11.255
e1000g2: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet 192.168.11.101 netmask ffffff00 broadcast 192.168.11.255
groupname IPMP
ether 0:c:29:5d:35:26
e1000g1: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 3
inet6 fe80::20c:29ff:fe5d:351c/10
groupname IPMP
ether 0:c:29:5d:35:1c
e1000g1:1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3
inet6 2001:cf8:xxxx:xxxx::35/64
e1000g2: flags=6a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet6 fe80::20c:29ff:fe5d:3526/10
groupname IPMP
ether 0:c:29:5d:35:26


※以下は実行しなかったけど、実行した方がいいですね。
bash-3.00# ifconfig lo0 inet6 plumb
bash-3.00# ifconfig lo0 inet6 up


これで、2001:cf8:xxxx:xxxx::35/64宛にpingは通るようになります。



・windows7端末より


C:\Users\bobchan>ping 2001:cf8:xxxx:xxxx::35

2001:cf8:xxxx:xxxx::35 に ping を送信しています 32 バイトのデータ:
2001:cf8:xxxx:xxxx::35 からの応答: 時間 <1ms
2001:cf8:xxxx:xxxx::35 からの応答: 時間 <1ms
2001:cf8:xxxx:xxxx::35 からの応答: 時間 <1ms
2001:cf8:xxxx:xxxx::35 からの応答: 時間 <1ms

2001:cf8:xxxx:xxxx::35 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms



恒久的に設定変更するために、以下のファイルを作成しました。


bash-3.00# cat /etc/hostname6.e1000g1
-failover group IPMP up addif 2001:cf8:xxxx:xxxx::35/64 up

bash-3.00# cat /etc/hostname6.e1000g2
-failover group IPMP standby up



・再起動して再度ifconfigを確認


bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.11.203 netmask ffffff00 broadcast 192.168.11.255
ether 0:c:29:5d:35:12
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.168.11.102 netmask ffffff00 broadcast 192.168.11.255
groupname IPMP
ether 0:c:29:5d:35:1c
e1000g1:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3
inet 192.168.11.100 netmask ffffff00 broadcast 192.168.11.255
e1000g2: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet 192.168.11.101 netmask ffffff00 broadcast 192.168.11.255
groupname IPMP
ether 0:c:29:5d:35:26
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
e1000g1: flags=a004841<UP,RUNNING,MULTICAST,DHCP,IPv6,NOFAILOVER> mtu 1500 index 3
inet6 fe80::20c:29ff:fe5d:351c/10
groupname IPMP
ether 0:c:29:5d:35:1c
e1000g1:1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3
inet6 2001:cf8:xxxx:xxxx::35/64
e1000g2: flags=6a004841<UP,RUNNING,MULTICAST,DHCP,IPv6,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet6 fe80::20c:29ff:fe5d:3526/10
groupname IPMP
ether 0:c:29:5d:35:26


※再起動したらlo0のIPv6が出力されました。


これでIPMPの設定は完了です。



たったこれだけの確認をするために結構てこずりました。
以下、つまったところを簡単に書き出しておきます。


VMware ESXiにSolaris10をインストールして行っていたのですが、
仮想インターフェースを増やすことができることを知らずに
論理インターフェースでIPMPを設定しようとしていました…


また、IPv6のIPMPは検査IPはリンクローカルアドレスを使うようで
色々とグローバルユニキャストアドレスをアサインできないか
試していました…

以前、設定したVMware ESXi にBIG-IP LTM VEをインストールしてみました。


インストール手順は以下の資料を参考にしました。

http://www.f5networks.co.jp/shared/pdf/BIG-IP_TB_setup_ve_trial.pdf


基本的に上記の手順でできるのですが、いくつか私の環境では

うまくいかなかった部分がありましたので、以下に記載しておきます。



◆作業前

BIG-IPをインストールする前に、VMwareにネットワークを2つ追加しておきます。

これを行わないと、BIG-IPのVIPセグメント、サーバセグメント、BIG-IPのmanagementセグメントが

一緒になってしまいます。


追加手順


あいらぶLinux♪

1. 左のサーバのIPアドレスをクリック(画像では192.168.11.200)

2. 構成タブをクリック

3. ネットワークをクリック

4. 右上のネットワークの追加をクリック


あとは、ウィザードに従って作成するだけです。

私は、ネットワークラベルの名前くらいしか変更しなかったですね。



◆p.13

create sys management-route default { gateway gatewayアドレス} がエラーではじかれる


実行コマンド結果
# create sys management-route default { gateway 192.168.11.1 }
01020037:3: The requested management route (0.0.0.0 0.0.0.0) already exists.


BIG-IPへ接続するPCは同セグなので、とりあえず無視して進める



◆p.16

デフォルトでActivation MethodがAutomaticが選択されていたので、
そのまま進めたら、アクティベーションが自動で完了しました。
おそらく、今回の作業PCがインターネットと疎通できる環境だったから
Automaticでアクティベーションができたのかと思います。

こちらの手順(p.17-20)はBIG-IPがインターネットと疎通がとれない
閉じたネットワークの時には必要な手順になると思います。



◆p.22

Management Port ConfigurationがデフォルトでAutomatic(DHCP)が
選択されており、記述されている内容のみだとセットアップが完了しませんでした。
※おそらく先ほどのデフォルトルートの設定がはじかれたことが原因のような気がします。

ですから、Management Port ConfigurationをManualに変更して、
IP Address、Network Mask、Management Routeの設定を入れました。



参考にした手順との差分はこれくらいですね。

今度はVMwareにもう一台BIG-IP LTM VEを入れてみて、

Active-Standby構成を作ってみようと思います。


2014/3/8 追記

この無料の体験版では、Active-Standby構成の機能は提供していないとのことです。