ããŒã2åæ¯
ä»æ¥ã¯ãVMWare vSphereã¯ã©ã¹ã¿ãŒã®ããŒãºãæºããããã«ã2å°ã®LinuxããŒã¹ã®ãµãŒããŒããäºç®ãã§ã€ã«ã»ãŒãiSCSIã¹ãã¬ãŒãžãäœæããæ¹æ³ã説æããŸãã åæ§ã®èšäºïŒ
ããšãã° ïŒããããŸããããç§ã®ã¢ãããŒãã¯å€å°ç°ãªããããã§äœ¿çšãããŠãããœãªã¥ãŒã·ã§ã³ïŒåãããŒãããŒããšiscsitargetïŒã¯ãã§ã«å€ããªã£ãŠããŸãã
ãã®èšäºã¯ããã«ãŒãã«ããããããŠã³ã³ãã€ã«ããããšãããã¬ãŒãºãæããªãçµéšè±å¯ãªç®¡çè
ã察象ãšããŠããŸãããäžéšã®éšåã¯ã³ã³ãã€ã«ããã«åçŽåããŠçãããšãã§ããŸãããèªåã§ã©ã®ããã«æžããã説æããŸãã çŽ æãèšåŒµãããªãããã«ãããã€ãã®ç°¡åãªããšãã¹ãããããŸãã ãã®èšäºã®ç®çã¯ããã¹ãŠã段éçã«æŠèª¬ããã®ã§ã¯ãªããäžè¬çãªååã瀺ãããšã§ãã
å
¥é
ç§ã®èŠä»¶ã¯åçŽã§ãããåäžé害ç¹ã®ãªãä»®æ³ãã·ã³çšã®ã¯ã©ã¹ã¿ãŒãäœæããŸããã ãŸããããŒãã¹ãšããŠãã¹ãã¬ãŒãžã¯ããŒã¿ãæå·åã§ããå¿
èŠãããããµãŒããŒããã©ãã°ããæµã圌ãã«å±ããªãããã«ããŸããã
VSphereã¯ãæã確ç«ãããå®æåãšããŠãã€ããŒãã€ã¶ãŒãšããŠéžæãããiSCSIã¯ãFCãŸãã¯FCoEã¹ã€ããã®åœ¢ã§è¿œå ã®éè泚å
¥ãå¿
èŠãšããªãããããããã³ã«ãšããŠéžæãããŸããã ãªãŒãã³ãœãŒã¹ã®SASã¿ãŒã²ããã§ã¯ãããã¯æªããªãã«ããŠãããªããã€ãã®ã§ããã®ãªãã·ã§ã³ãæåŠãããŸããã
ã¹ãã¬ãŒãžã¯æ®ããŸãã äž»èŠãã³ããŒã®ããŸããŸãªãã©ã³ããœãªã¥ãŒã·ã§ã³ã¯ãèªç€Ÿãšåæã¬ããªã±ãŒã·ã§ã³ã®ã©ã€ã»ã³ã¹ã®äž¡æ¹ã®ã³ã¹ããé«ãããã«ç Žæ£ãããŸããã ãããã£ãŠãç§ãã¡ã¯èªåã§ãããè¡ããšåæã«ãåŠç¿ããŸãã
ãœãããŠã§ã¢ãéžæããããšãïŒ
- Debian Wheezy + LTS Core 3.10
- iSCSI ã¿ãŒã²ããSCST
- ã¬ããªã±ãŒã·ã§ã³çšã®DRBD
- ã¯ã©ã¹ã¿ãªãœãŒã¹ã®ç®¡çãšç£èŠã®ããã®Pacemaker
- æå·åã®ããã®DM-Cryptã³ã¢ãµãã·ã¹ãã ïŒããã»ããµå
ã®AES-NIåœä»€ã¯éåžžã«åœ¹ç«ã¡ãŸãïŒ
ãã®çµæãçãèŠçã®äžã§ããã®ãããªåçŽãªã¹ããŒã ãçãŸããŸããã
åãµãŒããŒã«10ã®ã¬ãããã€ã³ã¿ãŒãã§ãŒã¹ïŒ2ã€ã®çµã¿èŸŒã¿ãš4ã€ã®è¿œå ãããã¯ãŒã¯ã«ãŒãïŒãããããšã瀺ããŠããŸãã ãããã®ãã¡6ã€ã¯ã¹ã€ããã¹ã¿ãã¯ã«æ¥ç¶ããïŒãããã3ã€ïŒãæ®ãã®4ã€ã¯é£æ¥ãµãŒããŒã«æ¥ç¶ãããŸãã
ãŸããDRBDãä»ããã¬ããªã±ãŒã·ã§ã³ãè¡ãããŸãã ã¬ããªã±ãŒã·ã§ã³ã«ãŒãã¯ãå¿
èŠã«å¿ããŠ10 Gbpsã«çœ®ãæããããšãã§ããŸãããæå
ã«æã£ãŠããã®ã§ãããããäœã§ããããç²ç®ã«ããŸãããã
ãããã£ãŠãããããã®ã«ãŒããçªç¶æ»äº¡ããŠããã©ã®ãµãã·ã¹ãã ãå®å
šã«æ©èœããªããªãããšã¯ãããŸããã
ãããã®ã¹ãã¬ãŒãžã®äž»ãªã¿ã¹ã¯ã¯ã倧容éããŒã¿ïŒãã¡ã€ã«ãµãŒããŒãã¡ãŒã«ã¢ãŒã«ã€ããªã©ïŒã®ä¿¡é Œã§ããã¹ãã¬ãŒãžã§ããããã3.5ã€ã³ããã£ã¹ã¯ã®ãµãŒããŒãéžæããŸããã
ããžãã¹åã
ãã£ã¹ã¯
åãµãŒããŒã«8ã€ã®ãã£ã¹ã¯ã®2ã€ã®RAID10ã¢ã¬ã€ãäœæããŸããã
以æ¥RAID6ãæåŠããããšãæ±ºå® ååãªã¹ããŒã¹ããããã©ã³ãã ã¢ã¯ã»ã¹ã¿ã¹ã¯ã§ã®RAID10ã®ããã©ãŒãã³ã¹ãåäžããŠããŸãã ããã«ããã®å Žåã®åæ§ç¯æéãšè² è·ãäžåãã®ã¯1ã€ã®ãã£ã¹ã¯ã®ã¿ã§ãããã¢ã¬ã€å
šäœã§ã¯ãããŸããã
äžè¬çã«ãããã§ã¯èª°ããèªåã§æ±ºå®ããŸãã
ãããã¯ãŒã¯éš
iSCSIãããã³ã«ã§ã¯ããã³ãã£ã³ã°/ã€ãŒãµãã£ãã«ã䜿çšããŠé床ãäžããããšã¯æå³ããããŸããã
çç±ã¯ç°¡åã§ã-åæã«ãããã·ã¥é¢æ°ã䜿çšããŠãã£ãã«ãä»ããŠãã±ãããé
åžããããããã®ãããªIP / MACã¢ãã¬ã¹ãéžæããŠIP1ããIP2ãžã®ãã±ããã1ã€ã®ãã£ãã«ãééããIP1ããIP3ãå¥ã®ãã£ãã«ãžééãããããšã¯éåžžã«å°é£ã§ãã
ciscoã«ã¯ããã±ãããã©ã®Etherchannelã€ã³ã¿ãŒãã§ã€ã¹ãé£è¡ãããã確èªã§ããã³ãã³ãããããŸãã
ãããã£ãŠãããã§ã¯ãæ§æããLUNãžã®è€æ°ã®ãã¹ã䜿çšããããšããå§ãããŸãã
ã¹ã€ããã§ã6ã€ã®VLANïŒãµãŒããŒã®å€éšã€ã³ã¿ãŒãã§ã€ã¹ããšã«1ã€ïŒãäœæããŸããã
stack-3750x
ã€ã³ã¿ãŒãã§ã€ã¹ã¯æ±çšæ§ã®ããã«ãã©ã³ãã³ã°ãããŠãããä»ã®äœãã¯åŸã§èŠãããŸãïŒ
interface GigabitEthernet1/0/11 description VMSTOR1-1 switchport trunk encapsulation dot1q switchport mode trunk switchport nonegotiate flowcontrol receive desired spanning-tree portfast trunk end
ãµãŒããŒã®è² è·ãæžããã«ã¯ãã¹ã€ããã®MTUãæ倧ã«èšå®ããå¿
èŠããããŸãïŒããå€ãã®ãã±ãã-> 1ç§ãããã®ãã±ããæ°ãå°ãªã->äžæãå°ãªãïŒã ç§ã®å Žåãããã¯9198ã§ãã
(config)
ESXiã¯9000ãè¶
ããMTUããµããŒãããŠããªãããããŸã ããŒãžã³ããããŸãã
åVLANã«ã¯ã¢ãã¬ã¹ã¹ããŒã¹ãå²ãåœãŠãããŸãããç°¡åã«ããããã«ã10.1ã®ããã«ããŸãã
VLAN_ID .0 / 24ïŒããšãã°ã10.1.24.0 / 24ïŒã ã¢ãã¬ã¹ãäžè¶³ããŠããå Žåãããå°ããªãµããããå
ã«ç¶æã§ããŸããããã䟿å©ã§ãã
åLUNã¯åå¥ã®iSCSIã¿ãŒã²ããã§è¡šããããããåå
±éã¿ãŒã²ããã¯ãå
±éãã¯ã©ã¹ã¿ã¢ãã¬ã¹ã§éžæãããçŸåšãã®ã¿ãŒã²ããã«ãµãŒãã¹ãæäŸããŠããããŒãã§çºçããŸãïŒ10.1ã
VLAN_ID .10ããã³10.1
VLAN_ID .20
ãŸãããµãŒããŒã«ã¯ç®¡ççšã®æ°žç¶ã¢ãã¬ã¹ããããŸãããç§ã®å Žåã¯10.1.0.100/24ããã³.200ïŒå¥åã®VLANå
ïŒã§ãã
ãœãããŠã§ã¢
ãã®ãããããã§ã¯äž¡æ¹ã®ãµãŒããŒã«æå°éã®åœ¢åŒã§Debianãã€ã³ã¹ããŒã«ããŸãããããã«ã€ããŠã¯è©³ãã説æããŸããã
ããã±ãŒãžã¢ã»ã³ããª
ã³ã³ãã€ã©ãšãœãŒã¹ã§ãµãŒããŒãä¹±éã«ãªããªãããã«ãå¥ã®ä»®æ³ãã·ã³ã§ã¢ã»ã³ããªãè¡ããŸããã
Debianã§ã«ãŒãã«ããã«ãããã«ã¯ããã«ãã«äžå¯æ¬ ãªã¡ã¿ããã±ãŒãžã眮ãã ãã§ååã§ãããããããä»ã®äœããæ£ç¢ºã«èŠããŠããŸããã
kernel.orgããææ°ã®ã«ãŒãã«3.10ãããŠã³ããŒãããŠè§£åããŸãã
次ã«ãå®å®ããSCSTãã©ã³ãã®ææ°ãªããžã§ã³ãSVNããããŠã³ããŒãããã«ãŒãã«ããŒãžã§ã³ã®ããããçæããŠé©çšããŸãã
iscsi-scstdããŒã¢ã³ããã«ãããŸãã
çµæã®
iscsi-scstdã¯ããµãŒããŒã«é
眮ããå¿
èŠããããŸãïŒäŸïŒ
/ opt / scstïŒæ¬¡ã«ããµãŒããŒã®ã«ãŒãã«ãæ§æããŸãã
æå·åããªã³ã«ããŸãïŒå¿
èŠãªå ŽåïŒã
SCSTããã³DRBDã«ãããã®ãªãã·ã§ã³ãå«ããããšãå¿ããªãã§ãã ããã
CONFIG_CONNECTOR=y CONFIG_SCST=y CONFIG_SCST_DISK=y CONFIG_SCST_VDISK=y CONFIG_SCST_ISCSI=y CONFIG_SCST_LOCAL=y
ããã.debããã±ãŒãžã®åœ¢åŒã§åéããŸãïŒãã®ããã«ã¯ãfakerootãkernel-packageãdebhelperãåæã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸãïŒã
åºåã§
kernel-scst-image-3.10.27_1_amd64.debããã±ãŒãžãååŸããŸã次ã«ãDRBDã®ããã±ãŒãžãåéããŸãã
debian / rulesãã¡ã€ã«ã次ã®ç¶æ
ã«å€æŽããŸãïŒããã«ã¯æšæºãã¡ã€ã«ããããŸãããã«ãŒãã«ã¢ãžã¥ãŒã«ã¯åéããŸããïŒã
Makefile.inãã¡ã€ã«ã§ã¯ãSUBDIRSå€æ°ãä¿®æ£ãããã®å€æ°ãã
ããã¥ã¡ã³ããåé€ã
ãŸã ãããããªããšãããã±ãŒãžã¯ããã¥ã¡ã³ãã®åªããšå
±ã«åéãããŸããã
åéãããã®ïŒ
ããã±ãŒãž
drbd_8.4.4_amd64.debã
ååŸããŸã
ããã ãã§ããä»ã®ãã®ãåéããå¿
èŠã¯ãªããäž¡æ¹ã®ããã±ãŒãžããµãŒããŒã«ã³ããŒããŠã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããã
ãµãŒããŒæ§æ
ãããã¯ãŒã¯
ã€ã³ã¿ãŒãã§ã€ã¹ã¯ã次ã®ããã«
/etc/udev/rules.d/70-persistent-net.rulesã«ååãå€æŽãããŸããã
int1-6ã¯ã¹ã€ããã«
移åãã
drbd1-4ã¯é£æ¥ãµãŒããŒã«
移åããŸãã
/ etc / network / interfacesã¯éåžžã«æãããå€èŠ³ãããŠãããæªå€¢ã§ã¯å€¢ã«ãæããªãã§ãããïŒ
auto lo iface lo inet loopback
ãµãŒããŒç®¡çã®ãã©ãŒã«ããã¬ã©ã³ã¹ãå¿
èŠãªãããããªã¿ãªãŒããªãã¯ã䜿çšããŸãã
ã¢ã¯ãã£ãããã¯ã¢ããã¢ãŒãã§ã®ãã³ãã£ã³ã°ã§ã¯ãã€ã³ã¿ãŒãã§ã€ã¹èªäœã§ã¯ãªããVLANãµãã€ã³ã¿ãŒãã§ã€ã¹ãåéããŸãã ãããã£ãŠãå°ãªããšã1ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è¡ãããŠããéãããµãŒããŒã¯äœ¿çšå¯èœã«ãªããŸãã ããã¯åé·ã§ããã玫æç
ã¯paã§ã¯ãããŸããã ãŸããåãã€ã³ã¿ãŒãã§ã€ã¹ãiSCSIãã©ãã£ãã¯ã«èªç±ã«äœ¿çšã§ããŸãã
ã¬ããªã±ãŒã·ã§ã³ã®ããã«ã
bond_drbdã€ã³ã¿ãŒãã§ã€ã¹ã
balance-rrã¢ãŒãã§
äœæãããŸããããã®ã¢ãŒãã§ã¯ããã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ãã±ãããæãã«é£ç¶ããŠéä¿¡ãããŸãã 圌ã¯ç°è²ã®ãããã¯ãŒã¯/ 24ããã¢ãã¬ã¹ãå²ãåœãŠãããŸãããã/ 30ãŸãã¯/ 31ã®ããã«ã§ããŸã ãã¹ãã¯2ã€ã ãã§ãã
ããã«ãããã±ãããé çªéãã«å°çããªãããšãããããã/
etc/sysctl.confå
ã®ç°åžžãªãã±ããã®ãããã¡ãå¢ãããŸãã 以äžã«ãéåžžã«é·ãéããã¡ã€ã«å
šäœã瀺ããŸãããã©ã®ãªãã·ã§ã³ã«ã€ããŠèª¬æããŸãããã å¿
èŠã«å¿ããŠèªåã§èªãããšãã§ããŸãã
net.ipv4.tcp_reordering = 127 net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 net.core.rmem_default = 16777216 net.core.wmem_default = 16777216 net.ipv4.tcp_rmem = 131072 524288 33554432 net.ipv4.tcp_wmem = 131072 524288 33554432 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_sack = 0 net.ipv4.tcp_dsack = 0 net.ipv4.tcp_fin_timeout = 15 net.core.netdev_max_backlog = 300000 vm.min_free_kbytes = 720896
ãã¹ãçµæã«ãããšãã¬ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¯
3.7 Gb / sãçæããŸãããããã¯ãŸã£ããåé¡ãããŸããã
ãã«ãã³ã¢ãµãŒããŒãããããããã¯ãŒã¯ã«ãŒããšRAIDã³ã³ãããŒã©ãŒãããã€ãã®ãã¥ãŒéã§å²ã蟌ã¿ã®åŠçãåé¢ã§ãããããå²ã蟌ã¿ãã«ãŒãã«ã«ãªã³ã¯ããã¹ã¯ãªãããäœæãããŸããã
ãã£ã¹ã¯
ãã£ã¹ã¯ããšã¯ã¹ããŒãããåã«ãããããæå·åãããã¹ãŠã®æ¶é²å£«ã®ãã¹ã¿ãŒããŒãä¿è·ããŸãã
ãã¹ã¯ãŒãã¯é è骚ã®å
åŽã«æžã蟌ãŸãã決ããŠå¿ããããªãããã«ããããŒã®ããã¯ã¢ããã¯å°çã«é ãããã¹ãã§ãã
ãã¹ã¿ãŒããŒã®ããã¯ã¢ããã»ã¯ã·ã§ã³ã®ãã¹ã¯ãŒããå€æŽããåŸãå€ããã¹ã¯ãŒãã埩å·åã§ããããšã«æ³šæããŠãã ããã
次ã«ã埩å·åãç°¡çŽ åããããã®ã¹ã¯ãªãããäœæãããŸããã
ã¹ã¯ãªããã¯ããã£ã¹ã¯ã®UUIDã䜿çšããŠã
/ dev / sd *ã«ãã€ã³ãããã«ãã·ã¹ãã å
ã®ãã£ã¹ã¯ãåžžã«äžæã«èå¥ããŸãã
æå·åé床ã¯ããã»ããµã®åšæ³¢æ°ãšã³ã¢ã®æ°ã«äŸåããèšé²ã¯èªã¿åãããã䞊ååãããŸãã 次ã®ç°¡åãªæ¹æ³ã§ããµãŒããŒãæå·åããé床ã確èªã§ããŸãã
, ,
ã芧ã®ãšãããé床ã¯ããã»ã©ç±ããããŸããããå®éã«ã¯ã»ãšãã©éæãããŸããã éåžžãã©ã³ãã ã¢ã¯ã»ã¹ãåªå
ãããŸãã
æ¯èŒã®ããã
Haswellã³ã¢ã®æ°ãã
Xeon E3-1270 v3ã§ã®åããã¹ãã®çµæïŒ
ããŠãããã§ã¯ãã£ãšæ¥œããã§ãã é »åºŠã¯æããã«æ±ºå®çãªèŠå ã§ãã
ãŸããAES-NIãç¡å¹ã«ãããšãæ°åé
ããªããŸãã
DRBD
ã¬ããªã±ãŒã·ã§ã³ãæ§æããŸãã䞡端ããã®æ§æã¯100ïŒ
åäžã§ãªããã°ãªããŸããã
/etc/drbd.d/global_common.conf global { usage-count no; } common { protocol B; handlers { } startup { wfc-timeout 10; } disk { c-plan-ahead 0; al-extents 6433; resync-rate 400M; disk-barrier no; disk-flushes no; disk-drain yes; } net { sndbuf-size 1024k; rcvbuf-size 1024k; max-buffers 8192;
ããã§æãèå³æ·±ããã©ã¡ãŒã¿ãŒã¯ãããã³ã«ã§ããããããæ¯èŒããŠãã ããã
ãããã¯ãèšé²ãããå Žåãèšé²ã¯æåãããšèŠãªãããŸã...
- A-ããŒã«ã«ãã£ã¹ã¯ã«ã¢ã¯ã»ã¹ããããŒã«ã«éä¿¡ãããã¡ãããããã
- B-ããŒã«ã«ãã£ã¹ã¯ã«ããªã¢ãŒãåä¿¡ãããã¡ã«å
¥ã£ã
- C-ããŒã«ã«ããã³ãªã¢ãŒããã£ã¹ã¯ãž
æãé
ãïŒèªã¿åã-é«é
延ïŒãšåæã«ä¿¡é Œã§ããã®ã¯
Cã§ãããç§ã¯äžéå°ç¹ãéžæããŸããã
次ã¯ãDRBDãšãã®è€è£œã«é¢ä¿ããããŒããåäœãããªãœãŒã¹ã®å®çŸ©ã§ãã
/etc/drbd.d/VM_STORAGE_1.res resource VM_STORAGE_1 { device /dev/drbd0; disk /dev/mapper/VM_STORAGE_1; meta-disk internal; on vmstor1 { address 192.168.123.100:7801; } on vmstor2 { address 192.168.123.200:7801; } }
/etc/drbd.d/VM_STORAGE_2.res resource VM_STORAGE_2 { device /dev/drbd1; disk /dev/mapper/VM_STORAGE_2; meta-disk internal; on vmstor1 { address 192.168.123.100:7802; } on vmstor2 { address 192.168.123.200:7802; } }
åãªãœãŒã¹ã«ã¯ç¬èªã®ããŒãããããŸãã
次ã«ãDRBDãªãœãŒã¹ã¡ã¿ããŒã¿ãåæåããŠã¢ã¯ãã£ãã«ããŸããããã¯åãµãŒããŒã§å®è¡ããå¿
èŠããããŸãã
次ã«ã1ã€ã®ãµãŒããŒïŒãªãœãŒã¹ããšã«1ã€æã€ããšãã§ããŸãïŒãéžæãããããã¡ã€ã³ãµãŒããŒã§ããããã©ã€ããªåæããã®ãµãŒããŒããå¥ã®ãµãŒããŒã«ç§»åããããšã決å®ããå¿
èŠããããŸãã
ãã¹ãŠãè¡ãããåæãå§ãŸã£ãã
ã¢ã¬ã€ã®ãµã€ãºãšãããã¯ãŒã¯é床ã«å¿ããŠãé·æéãŸãã¯éåžžã«é·ãæéãããããŸãã
ãã®é²è¡ã¯
watch -n0.1 cat / proc / drbdã³ãã³ãã§èŠ³å¯ã§ããéåžžã«ç©ããã§å²åŠçã§ãã
ååãšããŠãããã€ã¹ã¯ãã§ã«åæããã»ã¹ã§äœ¿çšã§ããŸããããªã©ãã¯ã¹ããããšããå§ãããŸã:)
æåã®éšåã®çµãã
äžæã«ã€ããŠã¯ãããã§ååã ãšæããŸãã ãããŠãéåžžã«å€ãã®æ
å ±ããã§ã«åžåãããŠããŸãã
第2éšã§ã¯ããã®å
±æã§åäœããããã«ESXiã¯ã©ã¹ã¿ãŒãããŒãžã£ãŒãšãã¹ããæ§æããæ¹æ³ã«ã€ããŠèª¬æããŸãã