firewalldの状況確認
firewalldのコマンドラインクライアントのfirewall-cmdを使用して確認する。まずデフォルトのゾーンのサービスを確認する。
#firewall-cmd --list-service dhcpv6-client ssh #
firewalldのコマンドラインクライアントのfirewall-cmdを使用して確認する。まずデフォルトのゾーンのサービスを確認する。
#firewall-cmd --list-service dhcpv6-client ssh #
systemdでサービス等の起動、停止を行う際にはsystemctlコマンドを使用する。systemdではユニットという単位で管理している。ここではserviceでしか作業していないが他にもdevice、mountなど他にもある。
#systemctl UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File (以下省略)
/etc/ssh/sshd_configに
Port 22 Port 50022の2行を記述すれば22、50022ポートでssh接続できる。
firewalldで50022ポートがブロックされている場合はfirewalldにsshポート追加を参考に設定する。
#今回は/workにマウントされている/dev/mapper/test-lv01を/varとして使用する。mount -t xfs /dev/mapper/centos_adam-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)/dev/mapper/test-lv01 on/work type xfs (rw,relatime,seclabel,attr2,inode64,noquota) (以下省略)
レスキューモードでの起動を参考にした。
Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode. Type "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot. Give root password for maintenance (or type Control-D to continue):rootのパスワードを入力 #
/etc/fstabに以下を記述すればマウントされる。
/dev/mapper/test-lv01 /work xfs defaults 0 2
fstabにファイルシステムが記述されている場合デバイスやマウントポイントのみでマウントできる。
#fstabの記述でマウントできたのでOSを再起動しマウントできることを確認する。mount /work/ #mount |grep work /dev/mapper/test-lv01 on/work typexfs (rw,relatime,seclabel,attr2,inode64,noquota) #
#lvdisplay /dev/test/lv01 --- Logical volume --- LV Path/dev/test/lv01 LV Name lv01 VG Name test LV UUID zFYf13-ldAf-54yK-rS96-gQTg-URmX-GsZTZf LV Write Access read/write LV Creation host, time adddisk.walhalla, 2014-09-23 17:47:11 +0900 LV Status available # open 0 LV Size 500.00 MiB Current LE 125 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 #
ホストに追加したディスク(=/dev/vdb)にLVMのPVを作成する。ディスク全体で1つのPVを作成する。今回はパーティションの操作にはpartedを使用する。
#partedでパーティションを表示するコマンドはprintだが一意になる範囲では省略できる。今回はpを使用した。以下でプロンプトが(parted)となっている個所はparted内での作業です。parted /dev/vdb GNU Parted 3.1 /dev/vdb を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted)p エラー: /dev/vdb: ディスクラベルが認識できません。 モデル: Virtio Block Device (virtblk) ディスク /dev/vdb: 8590MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: unknown ディスクフラグ: (parted)
/としてマウントされている17Gのファイルシステムを拡張する。
#このファイルシステムはLVM上にある。df -h / ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/centos-root 18G 962M17G 6% / #xfs_info / meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1147392 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 data = bsize=4096 blocks=4589568, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 #
#LVのサイズは32.51 GiBlvdisplay /dev/centos/root --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID kkfxxC-yLzP-RUou-iwpJ-yzuq-9qqW-HVntvz LV Write Access read/write LV Creation host, time localhost, 2014-08-03 20:35:03 +0900 LV Status available # open 1 LV Size32.51 GiB Current LE 8322 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 #
centosという名前のVGにあるrootというLV(=17.51 GiB)をVGの空き領域全てを使用して拡張する。
#centosという名前のVGのサイズは34.51 GiBで15.00 GiBの空きがある。vgdisplay --- Volume group --- VG Namecentos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 11 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size34.51 GiB PE Size 4.00 MiB Total PE 8834 Alloc PE / Size 4994 / 19.51 GiB Free PE / Size 3840 /15.00 GiB VG UUID Vd9fR0-d6mk-ZUlE-YEG0-gikq-hHO4-J0wOCf #
状況を確認したいLVはcentosという名前のVGにあるrootというLVのみなのでLV Path(=/dev/centos/root)を指定した。
#LVのサイズは17.51 GiB。lvdisplay /dev/centos/root --- Logical volume --- LV Path /dev/centos/root LV Nameroot VG Name centos LV UUID kkfxxC-yLzP-RUou-iwpJ-yzuq-9qqW-HVntvz LV Write Access read/write LV Creation host, time localhost, 2014-08-03 20:35:03 +0900 LV Status available # open 1 LV Size17.51 GiB Current LE 4482 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 #
/dev/vda2(34.5GiB)にある19.51GのPVを拡張する。
#parted /dev/vda2 unit GiB print エラー: /dev/vda2: ディスクラベルが認識できません。 モデル: Virtio Block Device (virtblk) ディスク/dev/vda2 :34.5GiB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: unknown ディスクフラグ: #pvs PV VG Fmt Attr PSize PFree/dev/vda2 centos lvm2 a--19.51g 0 #
#pvresize /dev/vda2 Physical volume "/dev/vda2 " changed 1 physical volume(s) resized / 0 physical volume(s) not resized #
#PVが34.51gに拡張され15.00gの空きがある。pvs PV VG Fmt Attr PSize PFree /dev/vda2 centos lvm2 a--34.51g 15.00g #
ホスト名をlocalhost.localdomainからtest.walhallaに変更する。
#hostnamectlコマンドを使用すればhostnameの管理ができる。今回は--staticオプションで「static hostname」のみを表示した。これはhostnameコマンドで一時的に変更していても影響を受けないhostnamectl --static localhost.localdomain
#hostnamectl --static localhost.localdomain #hostname hoge #hostname hoge #hostnamectl --static localhost.localdomain #
set-hostnameオプションと変更したいホスト名(=test.walhalla)を指定する。
#hostnamectl set-hostname test.walhalla #
#hostnamectl --static test.walhalla #
partedを使用すれば
#のようなコマンドでパーティションの拡張ができるらしいと色々なサイト等に記述してある。parted /dev/vda resize 2 21.5GB 37.6GB
だがcentos7の環境ではresizeオプションが無い模様で拡張できない。ちなみにOS、コマンドのバージョンは以下です。
#cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) #parted -v parted (GNU parted) 3.1 Copyright (C) 2012 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL バージョン 3 あるいはそれ以降のバージョン <http://gnu.org/licenses/gpl.html> このソフトウェアはフリーソフトウェアです。自由に変更、再配布ができます。 法律が許すかぎり、全くの無保証です。 <http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS> によって作られました。 #
なのでパーティションをいったん削除し、開始位置を変更せず終了位置移動させてパーティションを拡張できないか試しました。
KVMホストからは30.00 GiBとして認識している&仮想ホストから32.2 GBとして認識しているディスクを拡張する。KVMホストから35.00 GiB&仮想ホストから37.6 GBとして認識されるディスクに拡張する。
ルーティングテーブルをファイルに保存するには
#とすれば/tmp/route.confに保存されます。ip route save > /tmp/route.conf
またこの設定をリストアするには
#とすればリストアできます。ip route restore < /tmp/route.conf RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists #
#とします。デフォルトゲートウェイを追加するには以下のコマンドを実施します。ip ro 10.0.0.0/8 dev enp1s0 proto kernel scope link src 10.0.0.3 169.254.0.0/16 dev enp1s0 scope link metric 1002 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 #
#ip route add default via 10.0.0.1 dev enp1s0
#ip ro default via 10.0.0.1 dev enp1s0 10.0.0.0/8 dev enp1s0 proto kernel scope link src 10.0.0.3 169.254.0.0/16 dev enp1s0 scope link metric 1002 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 #
default via 10.0.0.1 dev enp1s0
ローカルレポジトリのコンテナを表示する
#今回は「happy_poincare」という名前が割り当てられている。この名前はコンテナーを開始した際にdockerによって自動で割り当てられる。docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fdeb793234d7 centos:latest /bin/sh -c 'while tr 17 seconds ago Up 16 secondshappy_poincare
このコンテナの標準出力を参照するには以下のコマンドを実施する。
#docker logs happy_poincare hello world (以下省略)
コンテナを停止するには以下のコマンドを実施する。
#docker stop happy_poincare happy_poincare #docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES #
#docker run centos /bin/echo 'hello world' hello world #
#「:」以降にTAG名を記述し使い分ける。docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centoslatest 0c752394b855 2 weeks ago 124.1 MB centos6.4 539c0211cd76 15 months ago 300.6 MB #
#この方法で実行すると指定したコマンドをフォアグラウンドで実行する。またこのコマンドが終了するとコンテナーが停止してしまう。docker run centos CentOS release:latest cat /etc/redhat-release6.5 (Final) #docker run centos CentOS release:6.4 cat /etc/redhat-release6.4 (Final) #
#-d(-detach)オプションを使用することでデタッチモードで実行する。この際の出力はコンテナーのIDが出力されている。docker run fdeb793234d7636d3e8c952c200b1476bde04a1aa48b20e551027d7823befa4b #-d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
ここにレポジトリへのリンクがあります。イメージを検索することができます。「show」で「Official」を選択することもできます。また検索結果からタグや情報が記述されたページにも移動できます。
コマンドで「centos」を探す場合は
#となります。出力には「OFFICIAL」があるのですが、WEBで「Official」を選択したことと同じになるオプションは発見できませんでした。docker search centos NAME DESCRIPTION STARS OFFICIAL TRUSTED centos The official build of CentOS. 190 tianon/centos CentOS 5 and 6, created using rinse instea... 23 (以下省略)
#とすれば「STARS」が180以上の「centos」を探せます。またタグを表示するコマンドも発見できませんでした。docker search -s 180 centos
今回はcentosのイメージ(タグ名=latest)を導入します。
#centosのイメージ(タグ名=latest)が導入されたことを確認するにはdocker pull centos:latest Pulling repository centos 0c752394b855: Download complete 511136ea3c5a: Download complete 34e94e67e63a: Download complete #
#とします。docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEcentos latest 0c752394b855 2 weeks ago 124.1 MB #
このイメージでbashを起動するには
#とします。オプションの内容は以下です。docker run -i -t centos /bin/bash
ここを参考にインストールしました。事前にEPELレポジトリを有効にしておく必要があります。有効にする方法はこちらを参照してください。また(無関係の)dockerパッケージをインストールしている場合docker-ioパッケージとコンフリクトするそうです。
docker-ioをインストールするには以下のコマンドを実行します。今回は5個の関連パッケージもインストールされました。
#yum install docker-io (途中省略) Installed: docker-io.x86_64 0:0.11.1-4.el6 Dependency Installed: bridge-utils.x86_64 0:1.2-10.el6 libcgroup.x86_64 0:0.40.rc1-5.el6_5.1 lxc.x86_64 0:0.9.0-2.el6 lxc-libs.x86_64 0:0.9.0-2.el6 xz.x86_64 0:4.999.9-0.3.beta.20091007git.el6Complete! #
この時点ではdockerデーモンはまだ起動していません。デーモンを起動します。
#service docker start Starting cgconfig service: [OK ] Starting docker: [OK ] #
OS起動時にdockerを起動させたいなら
#とします。chkconfig docker on
#rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm を取得中 警告: /var/tmp/rpm-tmp.BqKosi: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 準備中... ########################################### [100%] 1:epel-release ########################################### [100%] #