• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Blogs for Haruhide Yasukawa [ Blogs | Profile ]
Permalink | Twitter Post to Twitter | Comments (0) | Views (1927) |


 Device Mapper Multipath Enablement
Kit for HP StorageWorks Disk Arrays

http://bizsupport1.austin.hp.com/bc/docs/support/SupportManual/c01683837/c01683837.pdf

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (361) |


  • xenutil.sys
  • xevtchn.sys
  • xennet.sys/xennet6.sys
  • xenvbd.sys
  • scsifilt.sys
  • xenservice.exe
  • xenvssprovider.dll
  • xs.dll

 他のTool:

  • xenstore_client
  • getlogs
  • setloglevel
  • installXenProvider.cmd
  • uninstallXenProvider.cmd
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (365) |


共有ストレージアクセス

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (446) |

DNS

DNS

  •  DNS の設定は、DHCP または PIF.DNS
  •  ifcfg-xenbr<X> の PEERDNS=[yes|no]
  • PIF.other-config:domain により上書きされるDHCP よりドメインを検索
  • DNS server IP addrの一覧はカンマ区切り
  • DOMAIN= field は ifcfg-xenbr<X> で設定
  • /sbin/ifup は /etc/resolv.conf で設定
\# cat /etc/resolv.conf
; generated by /sbin/dhclientscript
search uk.xensource.com xensource.com \[...\]
nameserver 10.80.16.28
nameserver 10.80.16.67

&nbsp;


物理 デバイスの設定

  •  ethtoolにより、speed、 duplex および autoneg を設定
  • 他はPIF.other-configより設定
  • o-c:ethtool-speed= 10|100|1000
  • o-c:ethtool-duplex= half|full
  • o-c:ethtool-autoneg= on|off
  • すべての組が有効ではありません、Gigabit Ethernetではautonegotationが必要となります
  • PIFを、アンプラグ後、再プラグすると有効
  • PIFがmanagementインターフェースの場合、reboot。新規設定は/etc/init.d/managemen-tinterfaceに保存
  • bondまたはVLANデバイスには、それほど有益ではない

Network Protocol Offload

  •  ハードウェアのIPプロトコル処理のある側面を有効にする

- IP checksum offload (TX および RX)
- TCP およびUDP segmentation offload

  • ドライバー固有の障害
  • 仮想ネットワークドライバーは、過度にoffloadするので、PIF同様VIFにも適応
\# ethtool \-k eth0
Offload parameters for eth0:
Cannot get device udp large send offload
settings: Operation not supported
rxchecksumming:on
txchecksumming:on
scattergather:on
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off
  • Bugtool: ethtoolk*.out
  • PIF.other-config:ethtool* および VIF.other-config:ethtool*
  • o-c:ethtool-{rx,tx,sg,tso,ufo,gso} \= [on|off]
  • VIF およびPIFのアンプラグが必要です、managementインターフェースの場合、reboot
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (350) |


ルーティング

  •  IP設定されているPIFはサブネットへのトラフィックルートが設定されます
  • managementインターフェースのみがゲートウェイを持ち、すべての他のトラフィックはそこを経由
  • PIF.other-config:static-routesによって設定されるPIFに追加のルートを設定
  • フォーマットは、カンマ区切り、NETWORK/NETMASK/GATEWAY,...
  • 例 "172.18.0.0/16/192.168.0.4" は、クラスBネットワーク172.18.0.0に対し、ルーター192.168.0.4へルーティング
  • interface-reconfigure は、/etc/sysconfig/networkscripts/routexenbr<X> へ設定
  • bugtoolに含まれます
  •  
    -- # route
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    10.80.224.0 * 255.255.240.0 U 0 0 0 xapi4
    169.254.0.0 * 255.255.0.0 U 0 0 0 xapi4
    default 10.80.224.1 0.0.0.0 UG 0 0 0 xapi4
  • # route -n stops DNS lookup
    (bugtool: routen.out)
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (383) |


Bonded VLAN Network

  • bondingとVLANの組み合わせ
  •  デバイス名 bond<X>.<Y>
  • bond<X> は VLAN.taggedPIF
  • <Y> は VLAN ID
  • VLAN-on-bondは、決してbond-on-VLANではない(仕様/単純性)
  • bond<X> および bond<X>.<Y> は同時に利用可能、ただし、eth<N>は不可

内部ネットワーク

  • xapiにより管理、名前xapi<N>
  • 構築はありません、 interface-reconfigure も ifcfg* もなし
  • ブリッジに物理・ボンディング・VLANインターフェースなし

IP 設定

  • 一般的には、management インターフェースへのみ適応
  • しかし、ストレージネットワークインターフェースもあります
  • IP設定はブリッジに適応、物理NIC、bond、VLANではない
  • 将来的には、(ストレージには)ブリッジPIFはないかも。。。でも。。。

IP設定(DHCP)

PIF.mode=DHCP. ifcfgxenbr<N>:
BOOTPROTO=none
BOOTPROTO=dhcp
PERSISTENT_DHCLIENT=yes

IP設定(Static)

PIF.mode = static
PIF.IP = 1.2.3.4
PIF.netmask = 255.255.255.0
PIF.gateway = 1.2.3.1
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=1.2.3.4
GATEWAY=1.2.3.1


IP設定(Gateway)

  •  /etc/sysconfig/networkがデフォルトゲートウェイを定義するブリッジを設定
  • GATEWAYDEV=xenbr<X>
  • managementインターフェース
  • 他のインターフェースに対し、GATEWAY= は無視、同様に、DHCP経由でのゲートウェイも他のインターフェースに対し無視されます
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (401) |


Bonding ネットワークインターフェース


  •  デバイス名 bond<X> (xapi が決定)
  • 2つの物理ネットワークインターフェース(スレーブ)以外の1つの冗長なネットワークインターフェースを構築
  • Active-Active 構築
  • ソース(例えばVIF)のMACアドレスに基づき、送信時、スレーブが選択
  • 任意の1つのVIFが最大ひとつのNICの帯域値となります
  • 複数のVIFは全合計の帯域の利点を得ることが可能
  • 負荷は、10秒ごとにリバランス
  • リンク失敗のトラフィックは、他の物理インターフェースへすぐにリバランス
  • Orlando前: Active-Passiveのみ
  • PIFはxapiのbond.cretaeにより自動的に作成、PIF.bondmasterofは、bondオブジェクトを指します
  • スレーブは、PIF.bondslaveof を持ちます
  • 各スレーブに関連するネットワークは、利用されません
  • ブリッジは以前と同様に 構築
  • 物理NICの構築は異なります
  • /etc/sysconfig/networkscripts/ifcfgeth<X>
    \# DO NOT EDIT: This file (ifcfgeth0)
    was
    autogenerated by interfacereconfigure
    XEMANAGED=yes
    DEVICE=eth0
    ONBOOT=no
    TYPE=Ethernet
    HWADDR=00:13:20:f3:f0:d3
    MASTER=bond0
  • /etc/sysconfig/networkscripts/ifcfgbond<Y>
# DO NOT EDIT: This file (ifcfgbond0)
was
autogenerated by interfacereconfigure
XEMANAGED=yes
DEVICE=bond0
ONBOOT=no
MACADDR=00:13:20:f3:f0:d3
BRIDGE=xapi4
SLAVE=yes

 

  • /proc/net/bonding/bond<X>
  • 失敗の数も含め、スレーブの状態を表示
  • bugtoolに含まれます
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (348) |


VLAN ネットワークインターフェース

  •  デバイス名 eth<X>.<Y>
  • eth<X> 物理NIC
  • (VLAN.taggedPIF)
  • <Y> VLAN タグ (PIF.VLAN)
  • PIF は、xapi の VLAN.create で作成されます、VLAN.untaggedPIF として参照されます
  • eth<X>と関連するネットワークは、まだ有効です、両方とも同時に設定・利用されます


  • ブリッジの設定は、これまでと同様ですが、名前はxapi<N> です、 xenbr<N> ではないです <N> はxapiにより決定
  • ifcfgeth<X> はこれまでと同様です
  • /etc/sysconfig/netw[...]pts/ifcfgeth<X>.<Y>
    \# DO NOT EDIT: This file (ifcfgeth2.47)
    was
    autogenerated by interfacereconfigure
    XEMANAGED=yes
    DEVICE=eth2.47
    ONBOOT=no
    VLAN=yes
    BRIDGE=xapi1\\
  • /proc/net/vlan/eth<X>.<Y>
  • bugtoolにも含まれます(Orlandoより)
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (350) |


http://community.citrix.com/cdn/xs/sdks

Xen-API
C            libxenserver
C#.NET        XenServer.NET
Java        XenServerJava
PowerShell    XenServerPSSnapIn
Python        XenAPI.py
OCaml         (available but not released)

No HTTP calls

http://docs.vmd.citrix.com/XenServer/5.5.0/1.0/en_gb/api/docs/html/browser.html

Citrix XenServer Management API


Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (327) |




 

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (290) |


パッケージ
コンポーネント
dom0.tar.bz2 dom0(ただし、他の多くのコンポーネントを含む)
xapi.tar.bz2 api
docs.tar.bz2 docs
el4.*-binaries.tar.bz2 rhel-guest-installer
el5.*-binaries.tar.bz2 rhel-guest-installer
tools-iso.tar.bz2 tools-iso(ただし、他の多くのコンポーネントを含む)
xha.tar.bz2 xha
sm.tar.bz2 sm
license.tar.bz2 ライセンス(Miamiではxapi.tar.bz2に含まれる)
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (327) |


  • カーネルおよびゲストのブロックデバイスドライバー
    • blkback, blktap, blkfront, qemu-dm
  • ストレージマネージャAPI
  • SR Plug-in
    • LVM, File-based, Array specific plugins
  • XAPI ストレージオブジェクト
  • ストレージトラフィックNIC

 ブロックデバイスドライバー アーキテクチャ


 

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (329) |


VLANの設定


 

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (372) |


単純なネットワーク


デバイス名

 すべてのネットワークオブジェクトは、カーネルが利用するネットワークデバイス名となるdeviceまたはbridgeフィールドを持っています

物理デバイスには、カーネルがブート時に名前を割り当てます。(ただし、同じ名前ではないかも。)

デバイスは、PIFがプラグされるときに、リネームされる。正しい名前の判断には、MACアドレスを利用

アンプラグのPIFの一時的なカーネル名は、dev<X> または __tmp<Y>

仮想ネットワークデバイス

準仮想ネットワークドライバは、2つに分割されます
- domain 0 kernel のNetback
- guest domain kernel. eth<N> のNetback
 (Linux) または NIC<N> (Windows)
xenstore、 共有リング、およびイベントチャネル経由での通信

Domain0での仮想ネットワークデバイス
デバイス名 vif<X>.<Y> は、準仮想化ネットワークデバイス(netback) のdomain0側を表す
 <X> domain ID
 <Y> device ID.  eth<Y> または NIC<Y> に対応の必要はない

Domain0 でエミュレーションされるネットワークデバイス

PVドライバーがロードされるまで、完全仮想化(HVM)ゲストに対し 追加の tap<X>.<Y>
このデバイスは、ネットワークデバイスをエミューレーションするqemu-dmのエンドポイントを表す

tap<X>.<Y> は、一度PVドライバーが初期化されると、消えます

bugtoolにてtapデバイスがある場合、boot開始時にゲストが正しかったか、、、PVドライバーがインストールされていないか、、、

ソフトウェアブリッジ

switch/hub

デバイス名 xenbr<N> またはxapi<M>

ブリッジに最低1つの物理デバイス、およびブリッジに複数のVIF

brctlツールを用いて現在の状態を確認

# brctl show
bridge name bridge id STP enabled interfaces
xapi4 800[...]d3 no vif2.2
bond0
xenbr2 800[...]f8 no eth2

bugtool: brctl-show.out

/etc/sysconfig/networkscripts/ifcfgxenbr<N>
\# DO NOT EDIT: This file (ifcfgxenbr2)
was
autogenerated by interfacereconfigure
XEMANAGED=yes
DEVICE=xenbr2
ONBOOT=no
TYPE=Bridge
DELAY=0
STP=off
PIFDEV=eth2
BOOTPROTO=none

 + IP アドレスの設定

物理ネットワークインターフェース

Device named eth<X>

/etc/sysconfig/networkscripts/ifcfgeth<X>
# DO NOT EDIT: This file (ifcfgeth2)
was
autogenerated by interfacereconfigure
XEMANAGED=yes
DEVICE=eth2
ONBOOT=no
TYPE=Ethernet
HWADDR=00:1b:21:06:cb:f8
BRIDGE=xenbr2

仮想ネットワークインターフェース

vif<X>.<Y> は interface-reconfigure で設定されません

以下に設定はない
/etc/sysconfig/networkscripts

Hotplug スクリプト /etc/xensource/scripts/vif が VIF をブリッジに追加


Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (296) |


すべてのネットワークデバイス(bridge, PIF, VIF, bond, VLAN)は、Linuxカーネルに対応するデバイスを持っています

ifconfigツールを用いて、特定のデバイスの確認

# ifconfig xapi4
xapi4 Link encap:Ethernet HWaddr 00:13:20:F3:F0:D3
   inet addr:10.80.226.15 Bcast:10.80.239.255 Mask:255.255[...]
   UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
   RX packets:439633 errors:0 dropped:0 overruns:0 frame:0
   TX packets:244791 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:0
   RX bytes:234466646 (223.6 MiB) TX bytes:225763260 (215.3[...]

すべての ("up") ネットワークデバイス

  1. ifconfig

すでてのネットワークデバイス (bugtool: ifconfig-a.out)

  1. ifconfig a

Ethtool

 

# ethtool eth0
[...]
Supported link modes: 10baseT/Half 10baseT/Full
           100baseT/Half 100baseT/Full
           1000baseT/Full
Supports autonegotiation:
Yes
Advertised link modes: 10baseT/Half 10baseT/Full
            100baseT/Half 100baseT/Full
            1000baseT/Full
Advertised autonegotiation:
Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
[...]
Link detected: yes
  1. ethtool -i eth0
    driver: e1000e
    version: 0.4.1.12NAPI
    firmwareversion:
    0.117
    businfo:
    0000:01:00.0

(bugtool ethtool-*.out)

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (397) |


XenAPIオブジェクトがどのようにLinuxのネットワーク概念および構築にマップするのか考えます。

実際に実装する際の設定ファイルのありか、概念、およびメカニズムを考えます。

現在のネットワークの状況を確認する方法および、同様の情報がbugtoolのどこに保存されるのかを考えます。

すべてのネットワークの設定がXenAPIに保存

PIFおよびネットワークオブジェクトの直接のフィールドとして、またはother-configフィールドとして

interface-reconfigure スクリプトはXenAPI経由でデータモデルを検証し、設定ファイルへ書き込みます

/sbin/ifupコマンド、設定に沿って、ネットワークを設定する、を呼び出します

スクリプトは、 /opt/xensource/libexec/ にあります

ブート時に/etc/init.d/managementinterface が前回のブートでキャッシュされている設定を利用し、マネージメントインターフェースを起動します

PIF.plug XAPIがPIFを起動する要求を行うスクリプトを呼び出します

スクリプトは、新規の設定に衝突しないよう既存のネットワークの状態との整合性に注意を払います

多くの設定ファイルは以下です

 /etc/sysconfig/networkscripts
- ifcfg{eth<X>,bond<Y>,xenbr<Z>,xapi<A>
- route

Unknown macro: {xapi<A>,xenbr<Z>}

いくつかは、以下です

/etc/sysconfig/network
- Gateway Device (==management interface)

bugtoolに含まれます

 /sbin/ifup および/sbin/ifdown を利用し、設定します

多くは次です

 /etc/sysconfig/networkscript/if

Unknown macro: {up,down}
eth

CentOS/RHELをベースにしていますが、パッチを適応しています


Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (426) |


http://support.citrix.com/article/CTX106727

VMs

  • 名前 から uuid: xe vm-list
  • uuid から ドメイン: list_domains
  • CPU およびメモリ使用量: xentop
  • Xen 詳細: serial-line 'q' and 'd'
  • /usr/lib/xen/bin/xenctx

 Dom0

  • xenstore
    • xenstore-ls
      • /opt/xensource/debug/xs が /local/domain/x を監視
      •  xenstoredを再起動するな!!
  • qemu
      • pgrep -fl qemu
      • xenstore-read /local/domain/x/qemu-pid
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (257) |


参考

  • Hardware
    • Manuals, datasheets, standards, &c.
  • Xen hypercalls
    • xen-3.2.hg/docs/pdf/interface.pdf
  • Syscalls/libc
    • Linux man pages
  • Libxc
    • xen-3.2.hg/tools/libxc/*.h
  • Xenstore
    • xen-3.2.hg/docs/misc/xenstore.txt
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (492) |


qemu-dm

  • HVM ゲストのためにPC ハードウェアをエミュレーション
    •  ネットワークカード、ディスク、VGA、PCI、シリアルポート
    •  エミュレートしない:CPU, タイマー, 割り込み処理, メモリ管理
  •   /var/log/messages, /tmp/qemu.* へログ
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (392) |


XenStore

  • VM メタデータ重要な値のペアのレジストリ
  • dom0でのデーモンとして起動
  • xenbus経由で他のVMとの通信
  • リブートされるまでコンテントの継続
  •  /var/log/xen/xenstored-access.log.* へのログ
local = ""
domain = ""
8 = ""
vm = "/vm/03534046-45f8-14c8-1a62-02f0cdf7ad43"
vss = "/vss/03534046-45f8-14c8-1a62-02f0cdf7ad43"
name = "Domain-8"
cpu = ""
0 = ""
availability = "online"
memory = ""
static-max = "786432"
target = "786432"
device = ""
vbd = ""
768 = ""
backend = "/local/domain/0/backend/vbd/8/768"
state = "4"
backend-id = "0"
device-type = "disk"
virtual-device = "768"
online = "1"
ring-ref = "1536"
event-channel = "5"
protocol = "x86_32-abi"
feature-surprise-remove = "1"
feature-online-resize = "1"
Expand Blog Post

1   2     3     4     5   Next >>