SlideShare a Scribd company logo
1 of 32
Download to read offline
オープンクラウド・キャンパス



       Eucalyptusに学ぶ
IaaSクラウドを支えるインフラ技術
    《edubase Cloud 演習編》




             中井悦司
        Twitter @enakai00
IaaSクラウドを支えるインフラ技術


目次

 事前準備と環境確認
 ループバックデバイスの活用
 SSH公開鍵認証設定
 GlusterFSの利用




2                    Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                     事前準備と環境確認




3                                Open Cloud Campus
IaaSクラウドを支えるインフラ技術


事前準備

 仮想マシンを作成して、ホストネームを設定します。
    – クラウドクライアントからゲストOS「misc/CentOS56 GlusterFS」、インスタンスタイプ
      「m1.small」の仮想マシンを3個起動します。SSH接続ができるように、セキュリティグループを
      適切に設定しておいてください。
    – クラウドクライアントから仮想マシンのシェルを起動して、ホストネームの設定を行った後に、一
      度、シェルからログアウトします。
     [root@localhost ~]# hostname vm01   ← 3個の仮想マシンについて、vm01、vm02、vm03を設定
     [root@localhost ~]# echo "HOSTNAME=vm01" >> /etc/sysconfig/network
                                         ↑ 3個の仮想マシンについて、vm01、vm02、vm03を設定
     [root@localhost ~]# exit

    – 再度、シェルを起動して、設定したホストネーム(vm01、vm02、vm03)がシェルのプロンプト
      に表示されることを確認します。
      • ホストネームの変更は必須ではありませんが、ここでは操作対象の仮想マシンを間違えないために行っていま
        す。コマンドを実行する際は、シェルのプロンプトを見て、正しい操作対象の仮想マシンであることを必ず確
        認してください。
    – それぞれの仮想マシンの/etc/hostsを編集して、3個の仮想マシンそれぞれのプライベートIPに対
      応するホストネームを記載します。
     127.0.0.1           localhost.localdomain localhost
     10.3.4.2            vm01
     10.3.4.3            vm02
     10.3.4.4            vm03

      • 3個の仮想マシンで共通の内容になります。10.3.4.Xの部分は、vm01〜vm03のプライベートIPです。環境に応
        じて値を変更してください。各仮想マシンのプライベートIPは、”ifconfig eth0”で確認します。

4                                                                           Open Cloud Campus
IaaSクラウドを支えるインフラ技術


環境確認 (1)

 仮想マシンのNICに付与されたIPアドレスを確認します。
     [root@vm01 ~]# ifconfig
     eth0      Link encap:Ethernet HWaddr D0:0D:4E:CA:0A:2B
               inet addr:10.3.4.2 Bcast:10.3.4.127 Mask:255.255.255.128
               inet6 addr: fe80::d20d:4eff:feca:a2b/64 Scope:Link
               UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
               RX packets:442 errors:0 dropped:0 overruns:0 frame:0
               TX packets:289 errors:0 dropped:0 overruns:0 carrier:0
               collisions:0 txqueuelen:1000
               RX bytes:46537 (45.4 KiB) TX bytes:41032 (40.0 KiB)

     lo       Link encap:Local Loopback
              inet addr:127.0.0.1 Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING MTU:16436 Metric:1
              RX packets:8 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)

    – 質問:仮想マシンのパブリックIPは、仮想マシンのどのNICにも付与されていません。これは、なぜ
      でしょうか?




5                                                                         Open Cloud Campus
IaaSクラウドを支えるインフラ技術


環境確認 (2)

 仮想マシンで実行中のLinuxカーネルのバージョンとインストールされているカーネルの
  バージョンを確認します。
     [root@vm01 ~]# uname -a
     Linux vm01 2.6.18-238.9.1.el5xen #1 SMP Tue Apr 12 18:53:56 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
     [root@vm01 ~]# rpm -qa | grep kernel
     kernel-xen-2.6.18-274.7.1.el5
     kernel-xen-2.6.18-238.9.1.el5



    – 質問:GRUBの設定を修正して、起動カーネルを変更した後に仮想マシンを再起動します。    
      ところが、再起動後も先と同じバージョンのカーネルで起動します。これは、なぜでしょうか?
     [root@vm01 ~]# vi /boot/grub/grub.conf          ← 起動カーネルの指定を「default=1」に変更
     [root@vm01 ~]# reboot


     default=1                                       ← 「default=0」から「default=1」に変更
     timeout=10
     title CentOS (2.6.18-238.9.1.el5xen)
     root (hd0,0)
     kernel /boot/vmlinuz-2.6.18-238.9.1.el5xen console=xvc0 root=/dev/sda1 ro
     initrd /boot/initrd-2.6.18-238.9.1.el5xen.img
     title CentOS (2.6.18-274.7.1.el5xen)
     root (hd0,0)
     kernel /boot/vmlinuz-2.6.18-274.7.1.el5xen console=xvc0 root=/dev/sda1 ro
     initrd /boot/initrd-2.6.18-274.7.1.el5xen.img




6                                                                                               Open Cloud Campus
IaaSクラウドを支えるインフラ技術




              ループバックデバイスの活用




7                             Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パーティションの無いディスクイメージファイルの利用 (1)

    ※ このセクションの作業はvm01で行います。

 パーティションを持たないディスクイメージファイルを取り扱います。
    – 100MBのディスクイメージファイルvolume01.imgを作成して、ループバックデバイスに紐付けた
      後に、ext3でフォーマットします。

      [root@vm01 ~]# dd if=/dev/zero of=/opt/volume01.img bs=1M count=100
      100+0 records in
      100+0 records out
      104857600 bytes (105 MB) copied, 0.177533 seconds, 591 MB/s

      [root@vm01 ~]# losetup -f /opt/volume01.img
      [root@vm01 ~]# losetup -a
      /dev/loop0: [0801]:477949 (/opt/volume01.img)

      [root@vm01 ~]# mke2fs -j /dev/loop0
      mke2fs 1.39 (29-May-2006)
      Filesystem label=
      OS type: Linux
      Block size=1024 (log=0)
      (中略)
      This filesystem will be automatically checked every 32 mounts or
      180 days, whichever comes first. Use tune2fs -c or -i to override.




8                                                                           Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パーティションの無いディスクイメージファイルの利用 (2)

    – マウントポイント/mnt/imageを作成して、先のディスクイメージファイルをマウントした後に、
      ファイルを作成してみます。
     [root@vm01   ~]# mkdir /mnt/image
     [root@vm01   ~]# mount /dev/loop0 /mnt/image
     [root@vm01   ~]# date > /mnt/image/test.txt
     [root@vm01   ~]# cat /mnt/image/test.txt
     2011年 10月    31日 月曜日 21:07:18 JST

    – ファイルシステムをアンマウントして、ループバックデバイスとのひも付けを一旦、解除します。
     [root@vm01 ~]# umount /mnt/image/
     [root@vm01 ~]# losetup -d /dev/loop0
     [root@vm01 ~]# losetup -a




9                                                   Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パーティションの無いディスクイメージファイルの利用 (3)

 ディスクイメージファイルをloopオプションで直接にマウントして使用します。
     – 先のディスクイメージファイルをloopオプションでマウントして、先ほど作成したファイルが見え
       ることを確認します。
      [root@vm01 ~]# mount -o loop /opt/volume01.img /mnt/image/
      [root@vm01 ~]# df
      Filesystem           1K-ブロック      使用    使用可 使用% マウント位置
      /dev/sda1              4128448   3168820    749916 81% /
      /dev/sda2               503780     10545    467226   3% /mnt
      /opt/volume01.img        99150      5665     88365   7% /mnt/image
      [root@vm01 ~]# ls /mnt/image/
      lost+found test.txt
      [root@vm01 ~]# cat /mnt/image/test.txt
      2011年 10月 31日 月曜日 21:07:18 JST

     – この時、自動的にループバックデバイスとのひも付けが行われています。
      [root@vm01 ~]# losetup -a
      /dev/loop0: [0801]:329044 (/opt/volume01.img)

     – アンマウントすると、ループバックデバイスとのひも付けが解除されることを確認します。
      [root@vm01 ~]# umount /mnt/image/
      [root@vm01 ~]# losetup -a




10                                                                         Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パーティションの有るディスクイメージファイルの利用 (1)

 パーティションを持つディスクイメージファイルを取り扱います。
     – 100MBのディスクイメージファイルvolume02.imgを作成して、ループバックデバイスに紐付けた
       後、ループバックデバイスを指定して、ディスクパーティションを作成します。
      [root@vm01 ~]# dd if=/dev/zero of=/opt/volume02.img bs=1M count=100
      100+0 records in
      100+0 records out
      104857600 bytes (105 MB) copied, 0.178868 seconds, 586 MB/s

      [root@vm01 ~]# losetup -f /opt/volume02.img
      [root@vm01 ~]# losetup -a
      /dev/loop0: [0801]:507994 (/opt/volume02.img)

      [root@vm01 ~]# fdisk /dev/loop0
      (中略)
      コマンド (m でヘルプ): n
      コマンドアクション
         e   拡張
         p   基本領域 (1-4)
      p
      領域番号 (1-4): 1
      最初 シリンダ (1-12, default 1): 1
      終点 シリンダ または +サイズ または +サイズM または +サイズK (1-12, default 12): 6

      コマンド (m でヘルプ): n
      コマンドアクション
        e  拡張
        p  基本領域 (1-4)
      p
      領域番号 (1-4): 2
      最初 シリンダ (7-12, default 7): 7
      終点 シリンダ または +サイズ または +サイズM または +サイズK (7-12, default 12): 12
11                                                                          Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パーティションの有るディスクイメージファイルの利用 (2)

      コマンド (m でヘルプ): p

      Disk /dev/loop0: 104 MB, 104857600 bytes
      255 heads, 63 sectors/track, 12 cylinders
      Units = シリンダ数 of 16065 * 512 = 8225280 bytes

      デバイス Boot        Start         End         Blocks      Id System
      /dev/loop0p1              1            6            48163+ 83 Linux
      /dev/loop0p2              7           12            48195   83 Linux

      コマンド (m でヘルプ): wq
      領域テーブルは交換されました!
      (以下省略)


     – 作成したパーティションをさらにマッピングして、ext3でフォーマットします。
      [root@vm01 ~]# kpartx -a /dev/loop0
      [root@vm01 ~]# kpartx -l /dev/loop0
      loop0p1 : 0 96327 /dev/loop0 63
      loop0p2 : 0 96390 /dev/loop0 96390

      [root@vm01 ~]# mke2fs -j /dev/mapper/loop0p1
      mke2fs 1.39 (29-May-2006)
      (中略)
      This filesystem will be automatically checked every 26 mounts or
      180 days, whichever comes first. Use tune2fs -c or -i to override.

      [root@vm01 ~]# mke2fs -j /dev/mapper/loop0p2
      mke2fs 1.39 (29-May-2006)
      (中略)
      This filesystem will be automatically checked every 29 mounts or
      180 days, whichever comes first. Use tune2fs -c or -i to override.

12                                                                           Open Cloud Campus
IaaSクラウドを支えるインフラ技術


パーティションの有るディスクイメージファイルの利用 (3)

     – パーティションを1つをマウントします。
      [root@vm01 ~]# mount /dev/mapper/loop0p1 /mnt/image/
      [root@vm01 ~]# df
      Filesystem           1K-ブロック      使用    使用可 使用% マウント位置
      /dev/sda1              4128448   2603628   1315108 67% /
      /dev/sda2               503780     10545    467226   3% /mnt
      /dev/mapper/loop0p1      46633      4880     39345 12% /mnt/image

     – マウント先のディレクトリにファイルが作成できることを確認して、アンマウントした後に、マッ
       ピングの解除とループバックデバイスとの紐付けの解除を行います。
      [root@vm01   ~]# date > /mnt/image/test.txt
      [root@vm01   ~]# cat /mnt/image/test.txt
      2011年 10月    31日 月曜日 17:46:56 JST
      [root@vm01   ~]# umount /mnt/image/
      [root@vm01   ~]# kpartx -d /dev/loop0
      [root@vm01   ~]# losetup -d /dev/loop0




13                                                                        Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                     SSH公開鍵認証設定




14                                Open Cloud Campus
IaaSクラウドを支えるインフラ技術


SSHクライアントの構成

     ※ このセクションの作業はvm01で行います。

 vm01をSSHクライアントとして構成します。
     – 接続元となるユーザuser01を作成して、user01の鍵ペアを作成します。
       [root@vm01 ~]# adduser user01
       [root@vm01 ~]# su – user01
                         -
       [user01@vm01 ~]$ ssh-keygen -N "" -f ~/.ssh/user01key
       Generating public/private rsa key pair.
       Created directory '/home/user01/.ssh'.
       Your identification has been saved in /home/user01/.ssh/user01key.
       Your public key has been saved in /home/user01/.ssh/user01key.pub.
       The key fingerprint is:
       6f:1f:39:b1:35:e5:9e:9a:f6:36:b9:12:a2:4c:b9:a9 user01@vm01


     – 作成した鍵ペアの公開鍵の内容を表示します。
       [user01@vm01 ~]$ cat .ssh/user01key.pub
       ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7wDmgrAf4culT20haVdFXK80rYJJ4WINewK4AEh5Cpc25csYEDgwVEkNCVoQBc
       7Jl3r0Zom7ppGFv0lnCjoNQzd8tFdUCHUroIEkBOgHbmErj6uCC/BCYf2VmVzkvE5PdtN442ySTi/dfjoaluzflITTK2zrmCnA
       eXHndehMrrczewFucADBGJl8SwAqh8m8bxiFmL3CfaaF/yZ0NpaD0U7M4t/cS907DjdNSCcd6mxXk2pNS4/Wz6ebRSIJLb3vMb
       BmNEShpZaTbIrs8PpNUi3l8tlgzjMJTTpBPwoCkhzdR7PBm+xkgMzLFUiY7LuNXm9Fs+dvTkTRTLoOHmToyQ== user01@vm01

        • 画面上は改行されていますが、公開鍵の内容は、実際には1行のテキスト文です。この内容を端末画面から、テ
          キストエディタなどにコピーしておきます。




15                                                                                               Open Cloud Campus
IaaSクラウドを支えるインフラ技術


SSHサーバの構成

     ※ このセクションの作業はvm02、vm03で行います。

 2台の仮想マシンvm02、vm03をSSH接続先のサーバとして構成します。
     – vm03のシェルを起動して、ホスト鍵を再作成します。
       [root@vm03 ~]# rm -f /etc/ssh/ssh_host_*
       [root@vm03 ~]# service sshd restart
       sshd を停止中:                                 [   OK   ]
       SSH1 RSA ホストキーを生成中:                        [   OK   ]
       SSH2 RSA ホストキーを生成中:                        [   OK   ]
       SSH2 DSAホストキーを生成中:                         [   OK   ]
       sshd を起動中:                                 [   OK   ]

        • 同じマシンイメージから起動した仮想マシンは、ホスト鍵が同一になります。ここでは、vm02とvm03が異な
          るホスト鍵を持つようにするため、ホスト鍵の再作成を行います。
     – vm02、vm03のそれぞれで、/root/.ssh/authorized_keysの末尾に先に確認した公開鍵(1行のテ
       キスト)を追加します。

 クラウドクライアントからElastic IPを取得して、vm02に割り当てます。
        • ここでは、割り当てられたElastic IPを157.1.147.138とします。この後の手順では、実際に割り当てられたIP
          に置き換えて下さい。




16                                                              Open Cloud Campus
IaaSクラウドを支えるインフラ技術


SSH接続の確認 (1)

     ※ このセクションの作業はvm01で行います。

 公開鍵認証によるSSH接続を行います。
     – vm01のuser01からvm02のrootに、Elastic IPを指定して、SSH接続できることを確認します。
       [user01@vm01 ~]$ ssh -i ~/.ssh/user01key root@157.1.147.138
       The authenticity of host '157.1.147.138 (157.1.147.138)' can't be established.
       RSA key fingerprint is 25:08:07:96:2e:85:e3:25:81:9d:f3:13:35:3d:59:fe.
       Are you sure you want to continue connecting (yes/no)? yes
       Warning: Permanently added '157.1.147.138' (RSA) to the list of known hosts.
       Last login: Mon Oct 31 17:30:20 2011 from 136.187.36.110
       [root@vm02 ~]# exit
       logout

        • 157.1.147.138の部分は、実際に割り当てられたElastic IPに変更します。
     – 質問:接続時にyesで返答している質問は何を確認しているのでしょうか?
     – 質問:秘密鍵オプション(-i ~/.ssh/user01key)を指定しない場合はどのようになるでしょうか?
     – 同様に、vm01のuser01からvm03のrootに、vm03のPublic IPを指定して、SSH接続できることを
       確認します。




17                                                                                      Open Cloud Campus
IaaSクラウドを支えるインフラ技術


SSH接続の確認 (2)

 同じIPアドレスが別の仮想マシンに割り当てられた際の挙動を確認します。
     – クラウドクライアントから、vm02に割り当てたElastic IPを取り外して、このElastic IPをvm03に
       割り当てます。
     – vm01のuser01からvm03のrootに、Elastic IPを指定して、SSH接続を行います。
      [user01@vm01 ~]$ ssh -i ~/.ssh/user01key root@157.1.147.138
      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!      @
      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
      Someone could be eavesdropping on you right now (man-in-the-middle attack)!
      It is also possible that the RSA host key has just been changed.
      The fingerprint for the RSA key sent by the remote host is
      69:6c:ab:bf:21:e7:6a:7d:8f:29:28:3d:a6:cc:14:65.
      Please contact your system administrator.
      Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
      Offending key in /home/user01/.ssh/known_hosts:1
      RSA host key for 157.1.147.138 has changed and you have requested strict checking.
      Host key verification failed.

       • 157.1.147.138の部分は、実際に割り当てられたElastic IPに変更します。
     – 質問:上の実行結果のようにSSH接続に失敗します。これはなぜでしょうか?また、どのようにす
       れば、この問題を回避して、SSH接続ができるようになるでしょうか?




18                                                                                         Open Cloud Campus
IaaSクラウドを支えるインフラ技術




                     GlusterFSの利用




19                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


(参考)GlusterFSの導入手順

     ※ GlusterFSをソースコードから導入する場合は、このページの手順に従います。
     – 今回は、GlusterFSを導入済みのVMインスタンスを使用していますので、この手順は不要です。

     – GlusterFSのコンパイルに必要な開発ルールと前提パッケージを導入します。
       # yum -y groupinstall "Development Tools"
       # yum -y groupinstall "Development Libraries"
       # yum -y install fuse

     – インターネットからglusterfsとctypesのソースコードをダウンロードします。
       #   mkdir ~/work
       #   cd ~/work
       #   wget http://download.gluster.com/pub/gluster/glusterfs/qa-releases/3.3-beta-2/glusterfs-3.3beta2.tar.gz
       #   wget http://downloads.sourceforge.net/project/ctypes/ctypes/1.0.2/ctypes-1.0.2.tar.gz

     – ctypesをインストールします。
       #   cd ~/work
       #   tar -xvzf ctypes-1.0.2.tar.gz
       #   cd ctypes-1.0.2
       #   ./setup.py install

     – GlusterFSをインストールして、glusterdを起動します。
       #   cd ~/work
       #   tar -xvzf glusterfs-3.3beta2.tar.gz
       #   cd glusterfs-3.3beta2
       #   ./configure && make
       #   make install
       #   chkconfig glusterd on
       #   service glusterd start

20                                                                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


EBSの接続

     ※ このセクションの作業はvm01〜vm03で共通に行います。

 仮想マシンにEBSを接続してマウントします。
     – クラウドクライアントから仮想マシンに2GBのEBSを/dev/sdhとして接続します。
     – EBSをext3でフォーマットして、/ebsにマウントします。
       [root@vm01 ~]# mke2fs -j /dev/sdh
       mke2fs 1.39 (29-May-2006)
       /dev/sdh is entire device, not just one partition!
       Proceed anyway? (y,n) y    ← y[enter]を入力

       [root@vm01 ~]# mkdir /ebs
       [root@vm01 ~]# mount /dev/sdh /ebs


     – EBSの中に次の3種類のディレクトリ(brick01〜brick03)を作成します。
       [root@vm01 ~]# mkdir /ebs/brick01 /ebs/brick02 /ebs/brick03




21                                                                   Open Cloud Campus
IaaSクラウドを支えるインフラ技術


GlusterFSの設定

     ※ このセクションの作業はvm01で行います。

 GlusterFSのクラスタを構成します。
     – vm01からvm02とvm03をpeer登録して、クラスタを構成します。
       [root@vm01 ~]# gluster peer probe vm02
       Probe successful

       [root@vm01 ~]# gluster peer probe vm03
       Probe successful

     – peerの状態を確認します。
       [root@vm01 ~]# gluster peer status
       Number of Peers: 2

       Hostname: vm02
       Uuid: 2b316dc6-5660-44f3-9f9f-0381c5c4ff52
       State: Peer in Cluster (Connected)

       Hostname: vm03
       Uuid: 7f93be75-f0ab-4df3-9d8b-0773aa9468b9
       State: Peer in Cluster (Connected)




22                                                  Open Cloud Campus
IaaSクラウドを支えるインフラ技術


デフォルト・ボリュームの使用 (1)

     ※ このセクションの作業はvm01で行います。

 デフォルトの分散配置構成のボリュームvol01を作成します。
     – 各仮想マシンの/ebs/brick01をブリックとして、ボリュームvol01を作成・開始します。
       [root@vm01 ~]# gluster volume create vol01 vm01:/ebs/brick01 vm02:/ebs/brick01 vm03:/ebs/brick01
       Creation of volume vol01 has been successful. Please start the volume to access data.

       [root@vm01 ~]# gluster volume start vol01
       Starting volume vol01 has been successful

     – ボリュームvol01の構成を確認します。
       [root@vm01 ~]# gluster volume info vol01

       Volume Name: vol01
       Type: Distribute
       Status: Started
       Number of Bricks: 3
       Transport-type: tcp
       Bricks:
       Brick1: vm01:/ebs/brick01
       Brick2: vm02:/ebs/brick01
       Brick3: vm03:/ebs/brick01




23                                                                                                Open Cloud Campus
IaaSクラウドを支えるインフラ技術


デフォルト・ボリュームの使用 (2)

 ボリュームvol01をマウントして、ファイルを作成します。
     – ボリュームvol01を/data01にマウントします。
      [root@vm01 ~]# mkdir /data01
      [root@vm01 ~]# mount -t glusterfs localhost:/vol01 /data01

     – /data01の容量を確認します。
      [root@vm01 ~]# df
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/sda1              4128448   3122504    796232 80% /
      /dev/sda2               503780     10544    467227   3% /mnt
      /dev/sdh               2071224     68720   1897288   4% /ebs
      glusterfs#localhost:/vol01
                             6213632    206208   5691776       4% /data01

       • vm01〜vm03それぞれの2GBのEBSを結合しているので、6GBの容量になっていることが分かります。
     – /data01/以下に多数のファイル(この例では900個)を作成します。
      [root@vm01 ~]# cd /data01
      [root@vm01 data01]# for a in $(seq 100 999);   do date > $a.txt; done
      [root@vm01 data01]# ls
      100.txt 200.txt 300.txt 400.txt 500.txt        600.txt    700.txt   800.txt   900.txt
      101.txt 201.txt 301.txt 401.txt 501.txt        601.txt    701.txt   801.txt   901.txt
      102.txt 202.txt 302.txt 402.txt 502.txt        602.txt    702.txt   802.txt   902.txt
      (中略)
      198.txt 298.txt 398.txt 498.txt 598.txt        698.txt    798.txt   898.txt   998.txt
      199.txt 299.txt 399.txt 499.txt 599.txt        699.txt    799.txt   899.txt   999.txt
      [root@vm01 data01]# ls | wc -l
      900

24                                                                                            Open Cloud Campus
IaaSクラウドを支えるインフラ技術


デフォルト・ボリュームの使用 (3)

 /data01内のファイルの実体は、vm01〜vm03の/ebs/brick01/以下にファイル単位で分散
  配置されていることを確認します。
     – vm01〜vm03の/ebs/brick01/以下のファイルを確認します。
      [root@vm01 ~]# ls   /ebs/brick01
      100.txt 194.txt     262.txt 356.txt   440.txt   509.txt   580.txt   676.txt   763.txt   844.txt   936.txt
      103.txt 195.txt     263.txt 358.txt   441.txt   511.txt   581.txt   679.txt   764.txt   846.txt   937.txt
      (中略)
      190.txt 257.txt     354.txt 433.txt 505.txt     577.txt   671.txt   758.txt   842.txt   929.txt
      191.txt 259.txt     355.txt 438.txt 507.txt     578.txt   673.txt   759.txt   843.txt   935.txt
      [root@vm01 ~]# ls   /ebs/brick01 | wc -l
      277

      [root@vm02 ~]# ls   /ebs/brick01
      101.txt 201.txt     300.txt 385.txt   483.txt   604.txt   693.txt   802.txt   894.txt
      105.txt 204.txt     303.txt 388.txt   486.txt   605.txt   700.txt   804.txt   895.txt
      (中略)
      198.txt 294.txt     383.txt 478.txt 597.txt     682.txt   795.txt   887.txt
      199.txt 299.txt     384.txt 482.txt 600.txt     686.txt   800.txt   888.txt
      [root@vm02 ~]# ls   /ebs/brick01 | wc -l
      302

      [root@vm03 ~]# ls   /ebs/brick01
      102.txt 189.txt     309.txt 428.txt   533.txt   628.txt   735.txt   836.txt   931.txt
      106.txt 202.txt     310.txt 431.txt   534.txt   633.txt   738.txt   841.txt   932.txt
      (中略)
      186.txt 307.txt     420.txt 525.txt 624.txt     722.txt   832.txt   926.txt
      188.txt 308.txt     427.txt 526.txt 627.txt     731.txt   833.txt   927.txt
      [root@vm03 ~]# ls   /ebs/brick01 | wc -l
      321


25                                                                                                       Open Cloud Campus
IaaSクラウドを支えるインフラ技術


ストライピング・ボリュームの使用 (1)

     ※ このセクションの作業はvm01で行います。

 ストライピング構成のボリュームvol02を作成します。
     – 各仮想マシンの/ebs/brick02をブリックとして、ボリュームvol02を作成・開始します。
       [root@vm01 ~]# gluster volume create vol02 stripe 3 vm01:/ebs/brick02 vm02:/ebs/brick02 vm03:/ebs/brick02
       Creation of volume vol02 has been successful. Please start the volume to access data.

       [root@vm01 ~]# gluster volume start vol02
       Starting volume vol02 has been successful

     – ボリュームvol02の構成を確認します。
       [root@vm01 ~]# gluster volume info vol02

       Volume Name: vol02
       Type: Stripe
       Status: Started
       Number of Bricks: 3
       Transport-type: tcp
       Bricks:
       Brick1: vm01:/ebs/brick02
       Brick2: vm02:/ebs/brick02
       Brick3: vm03:/ebs/brick02




26                                                                                                Open Cloud Campus
IaaSクラウドを支えるインフラ技術


ストライピング・ボリュームの使用 (2)

 ボリュームvol02をマウントして、ファイルを作成します。
     – ボリュームvol02を/data02にマウントします。
      [root@vm01 ~]# mkdir /data02
      [root@vm01 ~]# mount -t glusterfs localhost:/vol02 /data02

     – /data02の容量を確認します。
      [root@vm01 ~]# df
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/sda1              4128448   3122816    795920 80% /
      /dev/sda2               503780     10544    467227   3% /mnt
      /dev/sdh               2071224     78168   1887840   4% /ebs
      glusterfs#localhost:/vol01
                             6213632    227840   5670144       4% /data01
      glusterfs#localhost:/vol02
                             6213632    227840   5670144       4% /data02
       • vm01〜vm03それぞれの2GBのEBSを結合しているので、6GBの容量になっていることが分かります。
     – /data02/以下に多数のファイル(この例では900個)を作成します。
      [root@vm01 ~]# cd /data02
      [root@vm01 data02]# for a in $(seq 100 999);   do date > $a.txt; done
      [root@vm01 data02]# ls
      100.txt 200.txt 300.txt 400.txt 500.txt        600.txt    700.txt   800.txt   900.txt
      101.txt 201.txt 301.txt 401.txt 501.txt        601.txt    701.txt   801.txt   901.txt
      102.txt 202.txt 302.txt 402.txt 502.txt        602.txt    702.txt   802.txt   902.txt
      (中略)
      198.txt 298.txt 398.txt 498.txt 598.txt        698.txt    798.txt   898.txt   998.txt
      199.txt 299.txt 399.txt 499.txt 599.txt        699.txt    799.txt   899.txt   999.txt
      [root@vm01 data02]# ls | wc -l
      900
27                                                                                            Open Cloud Campus
IaaSクラウドを支えるインフラ技術


ストライピング・ボリュームの使用 (3)

 /data01内のファイルの実体は、vm01〜vm03の/ebs/brick02/以下に分散配置されている
  ことを確認します。
     – vm01〜vm03の/ebs/brick02/以下のファイルを確認します。
      [root@vm01 ~]# ls   /ebs/brick02
      100.txt 200.txt     300.txt 400.txt   500.txt   600.txt   700.txt   800.txt   900.txt
      101.txt 201.txt     301.txt 401.txt   501.txt   601.txt   701.txt   801.txt   901.txt
      102.txt 202.txt     302.txt 402.txt   502.txt   602.txt   702.txt   802.txt   902.txt
      (中略)
      198.txt 298.txt     398.txt 498.txt 598.txt     698.txt   798.txt   898.txt   998.txt
      199.txt 299.txt     399.txt 499.txt 599.txt     699.txt   799.txt   899.txt   999.txt
      [root@vm01 ~]# ls   /ebs/brick02 | wc -l
      900

       • vm02、vm03の結果は省略します。
       • ストライピング・ボリュームでは、1つのファイルが3つに分割されて、各仮想マシンに分散配置されます。そ
         のため、各仮想マシンの/ebs/brick02/以下には同じファイル名のファイルが存在します。(ファイルの内容は
         それぞれ異なります。)




28                                                                                            Open Cloud Campus
IaaSクラウドを支えるインフラ技術


レプリケーション・ボリュームの使用 (1)

     ※ このセクションの作業はvm01で行います。

 レプリケーション構成のボリュームvol03を作成します。
     – 各仮想マシンの/ebs/brick03をブリックとして、ボリュームvol03を作成・開始します。
      [root@vm01 ~]# gluster volume create vol03 replica 3 vm01:/ebs/brick03 vm02:/ebs/brick03 vm03:/ebs/brick03
      Creation of volume vol03 has been successful. Please start the volume to access data.

      [root@vm01 ~]# gluster volume start vol03
      Starting volume vol03 has been successful

     – ボリュームvol03の構成を確認します。
       # gluster volume info vol03

       Volume Name: vol03
       Type: Replicate
       Status: Started
       Number of Bricks: 3
       Transport-type: tcp
       Bricks:
       Brick1: vm01:/ebs/brick03
       Brick2: vm02:/ebs/brick03
       Brick3: vm03:/ebs/brick03




29                                                                                                 Open Cloud Campus
IaaSクラウドを支えるインフラ技術


レプリケーション・ボリュームの使用 (2)

 ボリュームvol03をマウントして、ファイルを作成します。
     – ボリュームvol03を/data03にマウントします。
      [root@vm01 ~]# mkdir /data03
      [root@vm01 ~]# mount -t glusterfs localhost:/vol03 /data03

     – /data03の容量を確認します。
      [root@vm01 ~]# df
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/sda1              4128448   3122908    795828 80% /
      /dev/sda2               503780     10544    467227   3% /mnt
      /dev/sdh               2071224     78172   1887836   4% /ebs
      glusterfs#localhost:/vol01
                             6213632    227840   5670144   4% /data01
      glusterfs#localhost:/vol02
                             6213632    227840   5670144   4% /data02
      glusterfs#localhost:/vol03
                             2071168     78208   1887744   4% /data03
       • vm01〜vm03それぞれの2GBのEBSでレプリケーションしているので、2GBの容量になっています。
     – /data03/以下に多数のファイル(この例では900個)を作成します。
      [root@vm01 ~]# cd /data03
      [root@vm01 data03]# for a in $(seq 100 999); do date > $a.txt; done
      [root@vm01 data03]# ls
      (中略)
      198.txt 298.txt 398.txt 498.txt 598.txt 698.txt 798.txt 898.txt       998.txt
      199.txt 299.txt 399.txt 499.txt 599.txt 699.txt 799.txt 899.txt       999.txt
      [root@vm01 data03]# ls | wc -l
      900

30                                                                                    Open Cloud Campus
IaaSクラウドを支えるインフラ技術


レプリケーション・ボリュームの使用 (3)

 /data01内のファイルの実体は、vm01〜vm03の/ebs/brick03/以下にレプリケーションさ
  れていることを確認します。
     – vm01〜vm03の/ebs/brick03/以下のファイルを確認します。
      [root@vm01 ~]# ls   /ebs/brick03
      100.txt 200.txt     300.txt 400.txt   500.txt   600.txt   700.txt   800.txt   900.txt
      101.txt 201.txt     301.txt 401.txt   501.txt   601.txt   701.txt   801.txt   901.txt
      102.txt 202.txt     302.txt 402.txt   502.txt   602.txt   702.txt   802.txt   902.txt
      (中略)
      198.txt 298.txt     398.txt 498.txt 598.txt     698.txt   798.txt   898.txt   998.txt
      199.txt 299.txt     399.txt 499.txt 599.txt     699.txt   799.txt   899.txt   999.txt
      [root@vm01 ~]# ls   /ebs/brick03 | wc -l
      900

       • vm02、vm03の結果は省略します。
       • レプリケーション・ボリュームでは、1つのファイルが各仮想マシンにコピーされます。そのため、各仮想マシ
         ンの/ebs/brick03/以下には同じファイル名のファイルが存在します。(ファイルの内容は同じです。)




31                                                                                            Open Cloud Campus
オープンクラウド・キャンパス



これからもクラウドを支える
インフラ技術を学びましょう




          中井悦司
     Twitter @enakai00

More Related Content

What's hot

Eucalyptus infra technology
Eucalyptus infra technologyEucalyptus infra technology
Eucalyptus infra technologyEtsuji Nakai
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudsamemoon
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2Etsuji Nakai
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版VirtualTech Japan Inc.
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2Etsuji Nakai
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介Etsuji Nakai
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点d-shen
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術Satoshi KOBAYASHI
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性Masayoshi Hagiwara
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてSatoshi Shimazaki
 
OpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたOpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたTakashi Umeno
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドOsc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドSeiichiro Ishida
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)VirtualTech Japan Inc.
 

What's hot (20)

Eucalyptus infra technology
Eucalyptus infra technologyEucalyptus infra technology
Eucalyptus infra technology
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術
 
OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
 
VIOPS03: VMware参考資料
VIOPS03: VMware参考資料VIOPS03: VMware参考資料
VIOPS03: VMware参考資料
 
OpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたOpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみた
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
 
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドOsc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)
 

Viewers also liked

Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Etsuji Nakai
 
Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130Etsuji Nakai
 
Comparing GlusterFS Swift API to Native Swift
Comparing GlusterFS Swift API to Native SwiftComparing GlusterFS Swift API to Native Swift
Comparing GlusterFS Swift API to Native SwiftEtsuji Nakai
 
DCK Server プロトタイプ
DCK Server プロトタイプDCK Server プロトタイプ
DCK Server プロトタイプEtsuji Nakai
 
第15回機械学習勉強会・説明用ノート
第15回機械学習勉強会・説明用ノート第15回機械学習勉強会・説明用ノート
第15回機械学習勉強会・説明用ノートEtsuji Nakai
 
SDN Japan 2013 パネルディスカッション
SDN Japan 2013 パネルディスカッションSDN Japan 2013 パネルディスカッション
SDN Japan 2013 パネルディスカッションEtsuji Nakai
 
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEtsuji Nakai
 
Comparing GlusterFS-SwiftAPI with Original Swift
Comparing GlusterFS-SwiftAPI with Original SwiftComparing GlusterFS-SwiftAPI with Original Swift
Comparing GlusterFS-SwiftAPI with Original SwiftEtsuji Nakai
 
Yet another acronym for Eucalyptus
Yet another acronym for EucalyptusYet another acronym for Eucalyptus
Yet another acronym for EucalyptusEtsuji Nakai
 
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」Etsuji Nakai
 
試して学べるクラウド技術! Eucalyptus/AeolusConductor
試して学べるクラウド技術! Eucalyptus/AeolusConductor試して学べるクラウド技術! Eucalyptus/AeolusConductor
試して学べるクラウド技術! Eucalyptus/AeolusConductorEtsuji Nakai
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined NetworkEtsuji Nakai
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化Etsuji Nakai
 
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...Rakuten Group, Inc.
 
仮想化&クラウドで活用!自動化ツールの基礎
仮想化&クラウドで活用!自動化ツールの基礎仮想化&クラウドで活用!自動化ツールの基礎
仮想化&クラウドで活用!自動化ツールの基礎Etsuji Nakai
 
Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Etsuji Nakai
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料Etsuji Nakai
 
SDN界隈の用語・考え方をざっくりまとめます。
SDN界隈の用語・考え方をざっくりまとめます。SDN界隈の用語・考え方をざっくりまとめます。
SDN界隈の用語・考え方をざっくりまとめます。Etsuji Nakai
 
Eucalyptus クラウド全体像
Eucalyptus クラウド全体像Eucalyptus クラウド全体像
Eucalyptus クラウド全体像Etsuji Nakai
 

Viewers also liked (20)

Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429
 
Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130
 
Comparing GlusterFS Swift API to Native Swift
Comparing GlusterFS Swift API to Native SwiftComparing GlusterFS Swift API to Native Swift
Comparing GlusterFS Swift API to Native Swift
 
DCK Server プロトタイプ
DCK Server プロトタイプDCK Server プロトタイプ
DCK Server プロトタイプ
 
第15回機械学習勉強会・説明用ノート
第15回機械学習勉強会・説明用ノート第15回機械学習勉強会・説明用ノート
第15回機械学習勉強会・説明用ノート
 
SDN Japan 2013 パネルディスカッション
SDN Japan 2013 パネルディスカッションSDN Japan 2013 パネルディスカッション
SDN Japan 2013 パネルディスカッション
 
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
 
Comparing GlusterFS-SwiftAPI with Original Swift
Comparing GlusterFS-SwiftAPI with Original SwiftComparing GlusterFS-SwiftAPI with Original Swift
Comparing GlusterFS-SwiftAPI with Original Swift
 
Yet another acronym for Eucalyptus
Yet another acronym for EucalyptusYet another acronym for Eucalyptus
Yet another acronym for Eucalyptus
 
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」
 
試して学べるクラウド技術! Eucalyptus/AeolusConductor
試して学べるクラウド技術! Eucalyptus/AeolusConductor試して学べるクラウド技術! Eucalyptus/AeolusConductor
試して学べるクラウド技術! Eucalyptus/AeolusConductor
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined Network
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
 
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
[Rakuten TechConf2014] [F-4] At Rakuten, The Rakuten OpenStack Platform and B...
 
仮想化&クラウドで活用!自動化ツールの基礎
仮想化&クラウドで活用!自動化ツールの基礎仮想化&クラウドで活用!自動化ツールの基礎
仮想化&クラウドで活用!自動化ツールの基礎
 
Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
 
SDN界隈の用語・考え方をざっくりまとめます。
SDN界隈の用語・考え方をざっくりまとめます。SDN界隈の用語・考え方をざっくりまとめます。
SDN界隈の用語・考え方をざっくりまとめます。
 
Eucalyptus クラウド全体像
Eucalyptus クラウド全体像Eucalyptus クラウド全体像
Eucalyptus クラウド全体像
 

Similar to IaaSクラウドを支える基礎技術 演習編_v1_0

Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
Cloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するCloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するRyo Ishii
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
OpenNebula on Ubuntu
OpenNebula on UbuntuOpenNebula on Ubuntu
OpenNebula on Ubuntuautumnalsky
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
もしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらもしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらTakuma Nakajima
 
Try andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoyaTry andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoyaEtsuji Nakai
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jAkira Yoshiyama
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Takamasa Maejima
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseHideki Saito
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell scriptMasami Hiramatsu
 
バックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼むバックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼むKenichiro MATOHARA
 
マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料Ryo Fujita
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 

Similar to IaaSクラウドを支える基礎技術 演習編_v1_0 (20)

Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
Cloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するCloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続する
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
OpenNebula on Ubuntu
OpenNebula on UbuntuOpenNebula on Ubuntu
OpenNebula on Ubuntu
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
もしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらもしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったら
 
Try andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoyaTry andstudy cloud_20120509_nagoya
Try andstudy cloud_20120509_nagoya
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
 
Open VZ
Open VZOpen VZ
Open VZ
 
Snapdragon-SCORER
Snapdragon-SCORERSnapdragon-SCORER
Snapdragon-SCORER
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
バックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼むバックアップに一番いいファイルシステムを頼む
バックアップに一番いいファイルシステムを頼む
 
マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 

More from Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 

More from Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

IaaSクラウドを支える基礎技術 演習編_v1_0

  • 1. オープンクラウド・キャンパス Eucalyptusに学ぶ IaaSクラウドを支えるインフラ技術 《edubase Cloud 演習編》 中井悦司 Twitter @enakai00
  • 3. IaaSクラウドを支えるインフラ技術 事前準備と環境確認 3 Open Cloud Campus
  • 4. IaaSクラウドを支えるインフラ技術 事前準備  仮想マシンを作成して、ホストネームを設定します。 – クラウドクライアントからゲストOS「misc/CentOS56 GlusterFS」、インスタンスタイプ 「m1.small」の仮想マシンを3個起動します。SSH接続ができるように、セキュリティグループを 適切に設定しておいてください。 – クラウドクライアントから仮想マシンのシェルを起動して、ホストネームの設定を行った後に、一 度、シェルからログアウトします。 [root@localhost ~]# hostname vm01 ← 3個の仮想マシンについて、vm01、vm02、vm03を設定 [root@localhost ~]# echo "HOSTNAME=vm01" >> /etc/sysconfig/network ↑ 3個の仮想マシンについて、vm01、vm02、vm03を設定 [root@localhost ~]# exit – 再度、シェルを起動して、設定したホストネーム(vm01、vm02、vm03)がシェルのプロンプト に表示されることを確認します。 • ホストネームの変更は必須ではありませんが、ここでは操作対象の仮想マシンを間違えないために行っていま す。コマンドを実行する際は、シェルのプロンプトを見て、正しい操作対象の仮想マシンであることを必ず確 認してください。 – それぞれの仮想マシンの/etc/hostsを編集して、3個の仮想マシンそれぞれのプライベートIPに対 応するホストネームを記載します。 127.0.0.1 localhost.localdomain localhost 10.3.4.2 vm01 10.3.4.3 vm02 10.3.4.4 vm03 • 3個の仮想マシンで共通の内容になります。10.3.4.Xの部分は、vm01〜vm03のプライベートIPです。環境に応 じて値を変更してください。各仮想マシンのプライベートIPは、”ifconfig eth0”で確認します。 4 Open Cloud Campus
  • 5. IaaSクラウドを支えるインフラ技術 環境確認 (1)  仮想マシンのNICに付与されたIPアドレスを確認します。 [root@vm01 ~]# ifconfig eth0 Link encap:Ethernet HWaddr D0:0D:4E:CA:0A:2B inet addr:10.3.4.2 Bcast:10.3.4.127 Mask:255.255.255.128 inet6 addr: fe80::d20d:4eff:feca:a2b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:442 errors:0 dropped:0 overruns:0 frame:0 TX packets:289 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:46537 (45.4 KiB) TX bytes:41032 (40.0 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b) – 質問:仮想マシンのパブリックIPは、仮想マシンのどのNICにも付与されていません。これは、なぜ でしょうか? 5 Open Cloud Campus
  • 6. IaaSクラウドを支えるインフラ技術 環境確認 (2)  仮想マシンで実行中のLinuxカーネルのバージョンとインストールされているカーネルの バージョンを確認します。 [root@vm01 ~]# uname -a Linux vm01 2.6.18-238.9.1.el5xen #1 SMP Tue Apr 12 18:53:56 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux [root@vm01 ~]# rpm -qa | grep kernel kernel-xen-2.6.18-274.7.1.el5 kernel-xen-2.6.18-238.9.1.el5 – 質問:GRUBの設定を修正して、起動カーネルを変更した後に仮想マシンを再起動します。     ところが、再起動後も先と同じバージョンのカーネルで起動します。これは、なぜでしょうか? [root@vm01 ~]# vi /boot/grub/grub.conf ← 起動カーネルの指定を「default=1」に変更 [root@vm01 ~]# reboot default=1 ← 「default=0」から「default=1」に変更 timeout=10 title CentOS (2.6.18-238.9.1.el5xen) root (hd0,0) kernel /boot/vmlinuz-2.6.18-238.9.1.el5xen console=xvc0 root=/dev/sda1 ro initrd /boot/initrd-2.6.18-238.9.1.el5xen.img title CentOS (2.6.18-274.7.1.el5xen) root (hd0,0) kernel /boot/vmlinuz-2.6.18-274.7.1.el5xen console=xvc0 root=/dev/sda1 ro initrd /boot/initrd-2.6.18-274.7.1.el5xen.img 6 Open Cloud Campus
  • 7. IaaSクラウドを支えるインフラ技術 ループバックデバイスの活用 7 Open Cloud Campus
  • 8. IaaSクラウドを支えるインフラ技術 パーティションの無いディスクイメージファイルの利用 (1) ※ このセクションの作業はvm01で行います。  パーティションを持たないディスクイメージファイルを取り扱います。 – 100MBのディスクイメージファイルvolume01.imgを作成して、ループバックデバイスに紐付けた 後に、ext3でフォーマットします。 [root@vm01 ~]# dd if=/dev/zero of=/opt/volume01.img bs=1M count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.177533 seconds, 591 MB/s [root@vm01 ~]# losetup -f /opt/volume01.img [root@vm01 ~]# losetup -a /dev/loop0: [0801]:477949 (/opt/volume01.img) [root@vm01 ~]# mke2fs -j /dev/loop0 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=1024 (log=0) (中略) This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. 8 Open Cloud Campus
  • 9. IaaSクラウドを支えるインフラ技術 パーティションの無いディスクイメージファイルの利用 (2) – マウントポイント/mnt/imageを作成して、先のディスクイメージファイルをマウントした後に、 ファイルを作成してみます。 [root@vm01 ~]# mkdir /mnt/image [root@vm01 ~]# mount /dev/loop0 /mnt/image [root@vm01 ~]# date > /mnt/image/test.txt [root@vm01 ~]# cat /mnt/image/test.txt 2011年 10月 31日 月曜日 21:07:18 JST – ファイルシステムをアンマウントして、ループバックデバイスとのひも付けを一旦、解除します。 [root@vm01 ~]# umount /mnt/image/ [root@vm01 ~]# losetup -d /dev/loop0 [root@vm01 ~]# losetup -a 9 Open Cloud Campus
  • 10. IaaSクラウドを支えるインフラ技術 パーティションの無いディスクイメージファイルの利用 (3)  ディスクイメージファイルをloopオプションで直接にマウントして使用します。 – 先のディスクイメージファイルをloopオプションでマウントして、先ほど作成したファイルが見え ることを確認します。 [root@vm01 ~]# mount -o loop /opt/volume01.img /mnt/image/ [root@vm01 ~]# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda1 4128448 3168820 749916 81% / /dev/sda2 503780 10545 467226 3% /mnt /opt/volume01.img 99150 5665 88365 7% /mnt/image [root@vm01 ~]# ls /mnt/image/ lost+found test.txt [root@vm01 ~]# cat /mnt/image/test.txt 2011年 10月 31日 月曜日 21:07:18 JST – この時、自動的にループバックデバイスとのひも付けが行われています。 [root@vm01 ~]# losetup -a /dev/loop0: [0801]:329044 (/opt/volume01.img) – アンマウントすると、ループバックデバイスとのひも付けが解除されることを確認します。 [root@vm01 ~]# umount /mnt/image/ [root@vm01 ~]# losetup -a 10 Open Cloud Campus
  • 11. IaaSクラウドを支えるインフラ技術 パーティションの有るディスクイメージファイルの利用 (1)  パーティションを持つディスクイメージファイルを取り扱います。 – 100MBのディスクイメージファイルvolume02.imgを作成して、ループバックデバイスに紐付けた 後、ループバックデバイスを指定して、ディスクパーティションを作成します。 [root@vm01 ~]# dd if=/dev/zero of=/opt/volume02.img bs=1M count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.178868 seconds, 586 MB/s [root@vm01 ~]# losetup -f /opt/volume02.img [root@vm01 ~]# losetup -a /dev/loop0: [0801]:507994 (/opt/volume02.img) [root@vm01 ~]# fdisk /dev/loop0 (中略) コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 1 最初 シリンダ (1-12, default 1): 1 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-12, default 12): 6 コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 2 最初 シリンダ (7-12, default 7): 7 終点 シリンダ または +サイズ または +サイズM または +サイズK (7-12, default 12): 12 11 Open Cloud Campus
  • 12. IaaSクラウドを支えるインフラ技術 パーティションの有るディスクイメージファイルの利用 (2) コマンド (m でヘルプ): p Disk /dev/loop0: 104 MB, 104857600 bytes 255 heads, 63 sectors/track, 12 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/loop0p1 1 6 48163+ 83 Linux /dev/loop0p2 7 12 48195 83 Linux コマンド (m でヘルプ): wq 領域テーブルは交換されました! (以下省略) – 作成したパーティションをさらにマッピングして、ext3でフォーマットします。 [root@vm01 ~]# kpartx -a /dev/loop0 [root@vm01 ~]# kpartx -l /dev/loop0 loop0p1 : 0 96327 /dev/loop0 63 loop0p2 : 0 96390 /dev/loop0 96390 [root@vm01 ~]# mke2fs -j /dev/mapper/loop0p1 mke2fs 1.39 (29-May-2006) (中略) This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@vm01 ~]# mke2fs -j /dev/mapper/loop0p2 mke2fs 1.39 (29-May-2006) (中略) This filesystem will be automatically checked every 29 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. 12 Open Cloud Campus
  • 13. IaaSクラウドを支えるインフラ技術 パーティションの有るディスクイメージファイルの利用 (3) – パーティションを1つをマウントします。 [root@vm01 ~]# mount /dev/mapper/loop0p1 /mnt/image/ [root@vm01 ~]# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda1 4128448 2603628 1315108 67% / /dev/sda2 503780 10545 467226 3% /mnt /dev/mapper/loop0p1 46633 4880 39345 12% /mnt/image – マウント先のディレクトリにファイルが作成できることを確認して、アンマウントした後に、マッ ピングの解除とループバックデバイスとの紐付けの解除を行います。 [root@vm01 ~]# date > /mnt/image/test.txt [root@vm01 ~]# cat /mnt/image/test.txt 2011年 10月 31日 月曜日 17:46:56 JST [root@vm01 ~]# umount /mnt/image/ [root@vm01 ~]# kpartx -d /dev/loop0 [root@vm01 ~]# losetup -d /dev/loop0 13 Open Cloud Campus
  • 14. IaaSクラウドを支えるインフラ技術 SSH公開鍵認証設定 14 Open Cloud Campus
  • 15. IaaSクラウドを支えるインフラ技術 SSHクライアントの構成 ※ このセクションの作業はvm01で行います。  vm01をSSHクライアントとして構成します。 – 接続元となるユーザuser01を作成して、user01の鍵ペアを作成します。 [root@vm01 ~]# adduser user01 [root@vm01 ~]# su – user01 - [user01@vm01 ~]$ ssh-keygen -N "" -f ~/.ssh/user01key Generating public/private rsa key pair. Created directory '/home/user01/.ssh'. Your identification has been saved in /home/user01/.ssh/user01key. Your public key has been saved in /home/user01/.ssh/user01key.pub. The key fingerprint is: 6f:1f:39:b1:35:e5:9e:9a:f6:36:b9:12:a2:4c:b9:a9 user01@vm01 – 作成した鍵ペアの公開鍵の内容を表示します。 [user01@vm01 ~]$ cat .ssh/user01key.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7wDmgrAf4culT20haVdFXK80rYJJ4WINewK4AEh5Cpc25csYEDgwVEkNCVoQBc 7Jl3r0Zom7ppGFv0lnCjoNQzd8tFdUCHUroIEkBOgHbmErj6uCC/BCYf2VmVzkvE5PdtN442ySTi/dfjoaluzflITTK2zrmCnA eXHndehMrrczewFucADBGJl8SwAqh8m8bxiFmL3CfaaF/yZ0NpaD0U7M4t/cS907DjdNSCcd6mxXk2pNS4/Wz6ebRSIJLb3vMb BmNEShpZaTbIrs8PpNUi3l8tlgzjMJTTpBPwoCkhzdR7PBm+xkgMzLFUiY7LuNXm9Fs+dvTkTRTLoOHmToyQ== user01@vm01 • 画面上は改行されていますが、公開鍵の内容は、実際には1行のテキスト文です。この内容を端末画面から、テ キストエディタなどにコピーしておきます。 15 Open Cloud Campus
  • 16. IaaSクラウドを支えるインフラ技術 SSHサーバの構成 ※ このセクションの作業はvm02、vm03で行います。  2台の仮想マシンvm02、vm03をSSH接続先のサーバとして構成します。 – vm03のシェルを起動して、ホスト鍵を再作成します。 [root@vm03 ~]# rm -f /etc/ssh/ssh_host_* [root@vm03 ~]# service sshd restart sshd を停止中: [ OK ] SSH1 RSA ホストキーを生成中: [ OK ] SSH2 RSA ホストキーを生成中: [ OK ] SSH2 DSAホストキーを生成中: [ OK ] sshd を起動中: [ OK ] • 同じマシンイメージから起動した仮想マシンは、ホスト鍵が同一になります。ここでは、vm02とvm03が異な るホスト鍵を持つようにするため、ホスト鍵の再作成を行います。 – vm02、vm03のそれぞれで、/root/.ssh/authorized_keysの末尾に先に確認した公開鍵(1行のテ キスト)を追加します。  クラウドクライアントからElastic IPを取得して、vm02に割り当てます。 • ここでは、割り当てられたElastic IPを157.1.147.138とします。この後の手順では、実際に割り当てられたIP に置き換えて下さい。 16 Open Cloud Campus
  • 17. IaaSクラウドを支えるインフラ技術 SSH接続の確認 (1) ※ このセクションの作業はvm01で行います。  公開鍵認証によるSSH接続を行います。 – vm01のuser01からvm02のrootに、Elastic IPを指定して、SSH接続できることを確認します。 [user01@vm01 ~]$ ssh -i ~/.ssh/user01key root@157.1.147.138 The authenticity of host '157.1.147.138 (157.1.147.138)' can't be established. RSA key fingerprint is 25:08:07:96:2e:85:e3:25:81:9d:f3:13:35:3d:59:fe. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '157.1.147.138' (RSA) to the list of known hosts. Last login: Mon Oct 31 17:30:20 2011 from 136.187.36.110 [root@vm02 ~]# exit logout • 157.1.147.138の部分は、実際に割り当てられたElastic IPに変更します。 – 質問:接続時にyesで返答している質問は何を確認しているのでしょうか? – 質問:秘密鍵オプション(-i ~/.ssh/user01key)を指定しない場合はどのようになるでしょうか? – 同様に、vm01のuser01からvm03のrootに、vm03のPublic IPを指定して、SSH接続できることを 確認します。 17 Open Cloud Campus
  • 18. IaaSクラウドを支えるインフラ技術 SSH接続の確認 (2)  同じIPアドレスが別の仮想マシンに割り当てられた際の挙動を確認します。 – クラウドクライアントから、vm02に割り当てたElastic IPを取り外して、このElastic IPをvm03に 割り当てます。 – vm01のuser01からvm03のrootに、Elastic IPを指定して、SSH接続を行います。 [user01@vm01 ~]$ ssh -i ~/.ssh/user01key root@157.1.147.138 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 69:6c:ab:bf:21:e7:6a:7d:8f:29:28:3d:a6:cc:14:65. Please contact your system administrator. Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message. Offending key in /home/user01/.ssh/known_hosts:1 RSA host key for 157.1.147.138 has changed and you have requested strict checking. Host key verification failed. • 157.1.147.138の部分は、実際に割り当てられたElastic IPに変更します。 – 質問:上の実行結果のようにSSH接続に失敗します。これはなぜでしょうか?また、どのようにす れば、この問題を回避して、SSH接続ができるようになるでしょうか? 18 Open Cloud Campus
  • 19. IaaSクラウドを支えるインフラ技術 GlusterFSの利用 19 Open Cloud Campus
  • 20. IaaSクラウドを支えるインフラ技術 (参考)GlusterFSの導入手順 ※ GlusterFSをソースコードから導入する場合は、このページの手順に従います。 – 今回は、GlusterFSを導入済みのVMインスタンスを使用していますので、この手順は不要です。 – GlusterFSのコンパイルに必要な開発ルールと前提パッケージを導入します。 # yum -y groupinstall "Development Tools" # yum -y groupinstall "Development Libraries" # yum -y install fuse – インターネットからglusterfsとctypesのソースコードをダウンロードします。 # mkdir ~/work # cd ~/work # wget http://download.gluster.com/pub/gluster/glusterfs/qa-releases/3.3-beta-2/glusterfs-3.3beta2.tar.gz # wget http://downloads.sourceforge.net/project/ctypes/ctypes/1.0.2/ctypes-1.0.2.tar.gz – ctypesをインストールします。 # cd ~/work # tar -xvzf ctypes-1.0.2.tar.gz # cd ctypes-1.0.2 # ./setup.py install – GlusterFSをインストールして、glusterdを起動します。 # cd ~/work # tar -xvzf glusterfs-3.3beta2.tar.gz # cd glusterfs-3.3beta2 # ./configure && make # make install # chkconfig glusterd on # service glusterd start 20 Open Cloud Campus
  • 21. IaaSクラウドを支えるインフラ技術 EBSの接続 ※ このセクションの作業はvm01〜vm03で共通に行います。  仮想マシンにEBSを接続してマウントします。 – クラウドクライアントから仮想マシンに2GBのEBSを/dev/sdhとして接続します。 – EBSをext3でフォーマットして、/ebsにマウントします。 [root@vm01 ~]# mke2fs -j /dev/sdh mke2fs 1.39 (29-May-2006) /dev/sdh is entire device, not just one partition! Proceed anyway? (y,n) y ← y[enter]を入力 [root@vm01 ~]# mkdir /ebs [root@vm01 ~]# mount /dev/sdh /ebs – EBSの中に次の3種類のディレクトリ(brick01〜brick03)を作成します。 [root@vm01 ~]# mkdir /ebs/brick01 /ebs/brick02 /ebs/brick03 21 Open Cloud Campus
  • 22. IaaSクラウドを支えるインフラ技術 GlusterFSの設定 ※ このセクションの作業はvm01で行います。  GlusterFSのクラスタを構成します。 – vm01からvm02とvm03をpeer登録して、クラスタを構成します。 [root@vm01 ~]# gluster peer probe vm02 Probe successful [root@vm01 ~]# gluster peer probe vm03 Probe successful – peerの状態を確認します。 [root@vm01 ~]# gluster peer status Number of Peers: 2 Hostname: vm02 Uuid: 2b316dc6-5660-44f3-9f9f-0381c5c4ff52 State: Peer in Cluster (Connected) Hostname: vm03 Uuid: 7f93be75-f0ab-4df3-9d8b-0773aa9468b9 State: Peer in Cluster (Connected) 22 Open Cloud Campus
  • 23. IaaSクラウドを支えるインフラ技術 デフォルト・ボリュームの使用 (1) ※ このセクションの作業はvm01で行います。  デフォルトの分散配置構成のボリュームvol01を作成します。 – 各仮想マシンの/ebs/brick01をブリックとして、ボリュームvol01を作成・開始します。 [root@vm01 ~]# gluster volume create vol01 vm01:/ebs/brick01 vm02:/ebs/brick01 vm03:/ebs/brick01 Creation of volume vol01 has been successful. Please start the volume to access data. [root@vm01 ~]# gluster volume start vol01 Starting volume vol01 has been successful – ボリュームvol01の構成を確認します。 [root@vm01 ~]# gluster volume info vol01 Volume Name: vol01 Type: Distribute Status: Started Number of Bricks: 3 Transport-type: tcp Bricks: Brick1: vm01:/ebs/brick01 Brick2: vm02:/ebs/brick01 Brick3: vm03:/ebs/brick01 23 Open Cloud Campus
  • 24. IaaSクラウドを支えるインフラ技術 デフォルト・ボリュームの使用 (2)  ボリュームvol01をマウントして、ファイルを作成します。 – ボリュームvol01を/data01にマウントします。 [root@vm01 ~]# mkdir /data01 [root@vm01 ~]# mount -t glusterfs localhost:/vol01 /data01 – /data01の容量を確認します。 [root@vm01 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 4128448 3122504 796232 80% / /dev/sda2 503780 10544 467227 3% /mnt /dev/sdh 2071224 68720 1897288 4% /ebs glusterfs#localhost:/vol01 6213632 206208 5691776 4% /data01 • vm01〜vm03それぞれの2GBのEBSを結合しているので、6GBの容量になっていることが分かります。 – /data01/以下に多数のファイル(この例では900個)を作成します。 [root@vm01 ~]# cd /data01 [root@vm01 data01]# for a in $(seq 100 999); do date > $a.txt; done [root@vm01 data01]# ls 100.txt 200.txt 300.txt 400.txt 500.txt 600.txt 700.txt 800.txt 900.txt 101.txt 201.txt 301.txt 401.txt 501.txt 601.txt 701.txt 801.txt 901.txt 102.txt 202.txt 302.txt 402.txt 502.txt 602.txt 702.txt 802.txt 902.txt (中略) 198.txt 298.txt 398.txt 498.txt 598.txt 698.txt 798.txt 898.txt 998.txt 199.txt 299.txt 399.txt 499.txt 599.txt 699.txt 799.txt 899.txt 999.txt [root@vm01 data01]# ls | wc -l 900 24 Open Cloud Campus
  • 25. IaaSクラウドを支えるインフラ技術 デフォルト・ボリュームの使用 (3)  /data01内のファイルの実体は、vm01〜vm03の/ebs/brick01/以下にファイル単位で分散 配置されていることを確認します。 – vm01〜vm03の/ebs/brick01/以下のファイルを確認します。 [root@vm01 ~]# ls /ebs/brick01 100.txt 194.txt 262.txt 356.txt 440.txt 509.txt 580.txt 676.txt 763.txt 844.txt 936.txt 103.txt 195.txt 263.txt 358.txt 441.txt 511.txt 581.txt 679.txt 764.txt 846.txt 937.txt (中略) 190.txt 257.txt 354.txt 433.txt 505.txt 577.txt 671.txt 758.txt 842.txt 929.txt 191.txt 259.txt 355.txt 438.txt 507.txt 578.txt 673.txt 759.txt 843.txt 935.txt [root@vm01 ~]# ls /ebs/brick01 | wc -l 277 [root@vm02 ~]# ls /ebs/brick01 101.txt 201.txt 300.txt 385.txt 483.txt 604.txt 693.txt 802.txt 894.txt 105.txt 204.txt 303.txt 388.txt 486.txt 605.txt 700.txt 804.txt 895.txt (中略) 198.txt 294.txt 383.txt 478.txt 597.txt 682.txt 795.txt 887.txt 199.txt 299.txt 384.txt 482.txt 600.txt 686.txt 800.txt 888.txt [root@vm02 ~]# ls /ebs/brick01 | wc -l 302 [root@vm03 ~]# ls /ebs/brick01 102.txt 189.txt 309.txt 428.txt 533.txt 628.txt 735.txt 836.txt 931.txt 106.txt 202.txt 310.txt 431.txt 534.txt 633.txt 738.txt 841.txt 932.txt (中略) 186.txt 307.txt 420.txt 525.txt 624.txt 722.txt 832.txt 926.txt 188.txt 308.txt 427.txt 526.txt 627.txt 731.txt 833.txt 927.txt [root@vm03 ~]# ls /ebs/brick01 | wc -l 321 25 Open Cloud Campus
  • 26. IaaSクラウドを支えるインフラ技術 ストライピング・ボリュームの使用 (1) ※ このセクションの作業はvm01で行います。  ストライピング構成のボリュームvol02を作成します。 – 各仮想マシンの/ebs/brick02をブリックとして、ボリュームvol02を作成・開始します。 [root@vm01 ~]# gluster volume create vol02 stripe 3 vm01:/ebs/brick02 vm02:/ebs/brick02 vm03:/ebs/brick02 Creation of volume vol02 has been successful. Please start the volume to access data. [root@vm01 ~]# gluster volume start vol02 Starting volume vol02 has been successful – ボリュームvol02の構成を確認します。 [root@vm01 ~]# gluster volume info vol02 Volume Name: vol02 Type: Stripe Status: Started Number of Bricks: 3 Transport-type: tcp Bricks: Brick1: vm01:/ebs/brick02 Brick2: vm02:/ebs/brick02 Brick3: vm03:/ebs/brick02 26 Open Cloud Campus
  • 27. IaaSクラウドを支えるインフラ技術 ストライピング・ボリュームの使用 (2)  ボリュームvol02をマウントして、ファイルを作成します。 – ボリュームvol02を/data02にマウントします。 [root@vm01 ~]# mkdir /data02 [root@vm01 ~]# mount -t glusterfs localhost:/vol02 /data02 – /data02の容量を確認します。 [root@vm01 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 4128448 3122816 795920 80% / /dev/sda2 503780 10544 467227 3% /mnt /dev/sdh 2071224 78168 1887840 4% /ebs glusterfs#localhost:/vol01 6213632 227840 5670144 4% /data01 glusterfs#localhost:/vol02 6213632 227840 5670144 4% /data02 • vm01〜vm03それぞれの2GBのEBSを結合しているので、6GBの容量になっていることが分かります。 – /data02/以下に多数のファイル(この例では900個)を作成します。 [root@vm01 ~]# cd /data02 [root@vm01 data02]# for a in $(seq 100 999); do date > $a.txt; done [root@vm01 data02]# ls 100.txt 200.txt 300.txt 400.txt 500.txt 600.txt 700.txt 800.txt 900.txt 101.txt 201.txt 301.txt 401.txt 501.txt 601.txt 701.txt 801.txt 901.txt 102.txt 202.txt 302.txt 402.txt 502.txt 602.txt 702.txt 802.txt 902.txt (中略) 198.txt 298.txt 398.txt 498.txt 598.txt 698.txt 798.txt 898.txt 998.txt 199.txt 299.txt 399.txt 499.txt 599.txt 699.txt 799.txt 899.txt 999.txt [root@vm01 data02]# ls | wc -l 900 27 Open Cloud Campus
  • 28. IaaSクラウドを支えるインフラ技術 ストライピング・ボリュームの使用 (3)  /data01内のファイルの実体は、vm01〜vm03の/ebs/brick02/以下に分散配置されている ことを確認します。 – vm01〜vm03の/ebs/brick02/以下のファイルを確認します。 [root@vm01 ~]# ls /ebs/brick02 100.txt 200.txt 300.txt 400.txt 500.txt 600.txt 700.txt 800.txt 900.txt 101.txt 201.txt 301.txt 401.txt 501.txt 601.txt 701.txt 801.txt 901.txt 102.txt 202.txt 302.txt 402.txt 502.txt 602.txt 702.txt 802.txt 902.txt (中略) 198.txt 298.txt 398.txt 498.txt 598.txt 698.txt 798.txt 898.txt 998.txt 199.txt 299.txt 399.txt 499.txt 599.txt 699.txt 799.txt 899.txt 999.txt [root@vm01 ~]# ls /ebs/brick02 | wc -l 900 • vm02、vm03の結果は省略します。 • ストライピング・ボリュームでは、1つのファイルが3つに分割されて、各仮想マシンに分散配置されます。そ のため、各仮想マシンの/ebs/brick02/以下には同じファイル名のファイルが存在します。(ファイルの内容は それぞれ異なります。) 28 Open Cloud Campus
  • 29. IaaSクラウドを支えるインフラ技術 レプリケーション・ボリュームの使用 (1) ※ このセクションの作業はvm01で行います。  レプリケーション構成のボリュームvol03を作成します。 – 各仮想マシンの/ebs/brick03をブリックとして、ボリュームvol03を作成・開始します。 [root@vm01 ~]# gluster volume create vol03 replica 3 vm01:/ebs/brick03 vm02:/ebs/brick03 vm03:/ebs/brick03 Creation of volume vol03 has been successful. Please start the volume to access data. [root@vm01 ~]# gluster volume start vol03 Starting volume vol03 has been successful – ボリュームvol03の構成を確認します。 # gluster volume info vol03 Volume Name: vol03 Type: Replicate Status: Started Number of Bricks: 3 Transport-type: tcp Bricks: Brick1: vm01:/ebs/brick03 Brick2: vm02:/ebs/brick03 Brick3: vm03:/ebs/brick03 29 Open Cloud Campus
  • 30. IaaSクラウドを支えるインフラ技術 レプリケーション・ボリュームの使用 (2)  ボリュームvol03をマウントして、ファイルを作成します。 – ボリュームvol03を/data03にマウントします。 [root@vm01 ~]# mkdir /data03 [root@vm01 ~]# mount -t glusterfs localhost:/vol03 /data03 – /data03の容量を確認します。 [root@vm01 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 4128448 3122908 795828 80% / /dev/sda2 503780 10544 467227 3% /mnt /dev/sdh 2071224 78172 1887836 4% /ebs glusterfs#localhost:/vol01 6213632 227840 5670144 4% /data01 glusterfs#localhost:/vol02 6213632 227840 5670144 4% /data02 glusterfs#localhost:/vol03 2071168 78208 1887744 4% /data03 • vm01〜vm03それぞれの2GBのEBSでレプリケーションしているので、2GBの容量になっています。 – /data03/以下に多数のファイル(この例では900個)を作成します。 [root@vm01 ~]# cd /data03 [root@vm01 data03]# for a in $(seq 100 999); do date > $a.txt; done [root@vm01 data03]# ls (中略) 198.txt 298.txt 398.txt 498.txt 598.txt 698.txt 798.txt 898.txt 998.txt 199.txt 299.txt 399.txt 499.txt 599.txt 699.txt 799.txt 899.txt 999.txt [root@vm01 data03]# ls | wc -l 900 30 Open Cloud Campus
  • 31. IaaSクラウドを支えるインフラ技術 レプリケーション・ボリュームの使用 (3)  /data01内のファイルの実体は、vm01〜vm03の/ebs/brick03/以下にレプリケーションさ れていることを確認します。 – vm01〜vm03の/ebs/brick03/以下のファイルを確認します。 [root@vm01 ~]# ls /ebs/brick03 100.txt 200.txt 300.txt 400.txt 500.txt 600.txt 700.txt 800.txt 900.txt 101.txt 201.txt 301.txt 401.txt 501.txt 601.txt 701.txt 801.txt 901.txt 102.txt 202.txt 302.txt 402.txt 502.txt 602.txt 702.txt 802.txt 902.txt (中略) 198.txt 298.txt 398.txt 498.txt 598.txt 698.txt 798.txt 898.txt 998.txt 199.txt 299.txt 399.txt 499.txt 599.txt 699.txt 799.txt 899.txt 999.txt [root@vm01 ~]# ls /ebs/brick03 | wc -l 900 • vm02、vm03の結果は省略します。 • レプリケーション・ボリュームでは、1つのファイルが各仮想マシンにコピーされます。そのため、各仮想マシ ンの/ebs/brick03/以下には同じファイル名のファイルが存在します。(ファイルの内容は同じです。) 31 Open Cloud Campus