{"id":412,"date":"2022-02-20T11:26:46","date_gmt":"2022-02-20T02:26:46","guid":{"rendered":"http:\/\/blog.gurees.net\/?p=412"},"modified":"2022-02-27T00:52:53","modified_gmt":"2022-02-26T15:52:53","slug":"drbd-keepalived-nfs-on-centos-stream-8","status":"publish","type":"post","link":"https:\/\/blog.gurees.net\/?p=412","title":{"rendered":"DRBD + Keepalived + NFS on CentOS Stream 8"},"content":{"rendered":"\n<p>\u81ea\u5b85\u306e\u30b7\u30b9\u30c6\u30e0\u306fiSCSI\u306e\u30c7\u30a3\u30b9\u30af\u304c\u5358\u4e00\u969c\u5bb3\u70b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br>\u5171\u6709\u30c7\u30a3\u30b9\u30af\u306b\u95a2\u3057\u3066\u306f\u5197\u9577\u5316\u3059\u308b\u306e\u306f\u96e3\u3057\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3057\u305f\u304c\u3001DRBD\uff0bKeepalived \uff0bNFS\u3092\u7528\u3044\u3066ESXi\u3067\u4f7f\u3048\u308b\u5197\u9577\u5316\u5171\u6709\u30c7\u30a3\u30b9\u30af\u3092\u8a66\u3057\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>\u3061\u306a\u307f\u306b\u306f\u3058\u3081\u306fiSCSI\u3067\u3084\u3063\u3066\u3001\u5207\u66ff\u6642\u306bPDL\u306b\u306a\u308b\u306e\u3092\u3069\u3046\u3057\u3066\u3082\u56de\u907f\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3001NFS\u3092\u4f7f\u3063\u3066\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u74b0\u5883\u3068\u3057\u3066\u306fESXi6.7\u3067\u4eee\u60f3\u30de\u30b7\u30f3\u3092\u4f5c\u308aCentOS Stream8\u3092Minimal\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<br>\u30b9\u30da\u30c3\u30af\u306fCPU2\u30b3\u30a2\u3001\u30e1\u30e2\u30ea4GB\u3001\u30c7\u30a3\u30b9\u30af50GB+\u5171\u6709\u30c7\u30a3\u30b9\u30af\u3067\u884c\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3057\u3070\u3089\u304f\u306fdrbd01\u3067\u4f5c\u696d\u3057\u3066\u3001\u5f8c\u3067\u4eee\u60f3\u30de\u30b7\u30f3\u3092\u30af\u30ed\u30fc\u30f3\u3057\u3066drbd02\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">+----------------------+     +----------------------+ \n| CentOS Stream 8      |     | CentOS Stream 8      | \n| drbd01               |     | drbd02               | \n| sda(50GB)            |     | sda(50GB)            | \n| sdb                  |     | sdb                  | \n| 192.168.1.231(BootIP)|     | 192.168.1.232(BootIP)| \n| 192.168.1.230(VIP)   |     | 192.168.1.230(VIP)   | \n+-ens192---------------+     +-ens192---------------+ \n   |                            |\n   +----------------------------+ 1GbE<\/pre>\n\n\n\n<p>\u307e\u305a\u306fkeepalived\u3092\u5165\u308c\u307e\u3059\u3002\u3053\u308c\u3067VIP\u3092\u79fb\u52d5\u3055\u305b\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># dnf install -y keepalived<\/pre>\n\n\n\n<p>\u8a2d\u5b9a\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u3066\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># cp \/etc\/keepalived\/keepalived.conf \/etc\/keepalived\/keepalived.conf.org\n# vi \/etc\/keepalived\/keepalived.conf\n\n# vi \/etc\/keepalived\/keepalived.conf\n\u2193\u3000\u4e2d\u8eab\u3092\u6d88\u3057\u3066\u4ee5\u4e0b\u3067\u4e0a\u66f8\u304d\u307e\u3059\n! Configuration File for keepalived\nglobal_defs {\n  vrrp_garp_master_refresh 60\n  garp_master_delay        5\n  advert_int               1\n}\nvrrp_instance VI_1 {\n  state             BACKUP\n  interface         ens192\n  virtual_router_id 230\n  priority          100\n  advert_int        3\n  authentication {\n    auth_type PASS\n    auth_pass password\n  }\n  virtual_ipaddress {\n    192.168.1.230\/24\n  }\n}<\/pre>\n\n\n\n<p>vrrp_garp_master_refresh\u306f\u30de\u30b9\u30bf\u30fc\u66f4\u65b0\u6642\u306bGARP\u3092\u6295\u3052\u308b\u8a2d\u5b9a\u3092\u3057\u3066ARP\u30c6\u30fc\u30d6\u30eb\u66f4\u65b0\u3092\u3055\u305b\u307e\u3059\u3002<br>state BACKUP\u306f\u3001\u30d5\u30a7\u30a4\u30eb\u30d0\u30c3\u30af\u3092\u3055\u305b\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u307e\u3059\u3002\uff08VIP\u3092\u81ea\u52d5\u3067\u623b\u3059\u5fc5\u8981\u3082\u306a\u3044\u306a\u3089BACKUP\u540c\u58eb\u3067\u826f\u3044\u307f\u305f\u3044)<\/p>\n\n\n\n<p>Firewall\u3067vrrp\u3092\u958b\u3051\u3066\u3001keepalived\u3092\u8d77\u52d5\u3068\u81ea\u52d5\u8d77\u52d5\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># firewall-cmd --permanent --add-protocol=vrrp\n# firewall-cmd --reload\n# systemctl start keepalived.service\n# systemctl enable keepalived.service<\/pre>\n\n\n\n<p>\u5f8c\u306fSELinux\u3092\u7121\u52b9\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># vi \/etc\/selinux\/config\nSELINUX=enforcing\n\u2193\nSELINUX=disabled<\/pre>\n\n\n\n<p>\u3053\u306e\u6bb5\u968e\u3067ip a\u3067\u78ba\u8a8d\u3059\u308b\u3068virtual_ipaddress\u3067\u6307\u5b9a\u3057\u305fIP\u30a2\u30c9\u30ec\u30b9\u3092ens192\u306b\u5272\u308a\u3064\u3044\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u6b21\u306bDRBD\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u306b\u5fc5\u8981\u306a\u30c4\u30fc\u30eb\u3092\u5165\u308c\u307e\u3059\u3002\uff08kmod\u306fstream\u306b\u306a\u304b\u3063\u305f\u307f\u305f\u3044)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># dnf -y install gcc gcc-c++ kernel-devel kernel-rpm-macros make perl-interpreter rpm-build kernel-abi-whitelists wget elfutils-libelf-devel flex automake<\/pre>\n\n\n\n<p>\u30ab\u30fc\u30cd\u30eb\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># wget https:\/\/pkg.linbit.com\/\/downloads\/drbd\/9\/drbd-9.1.6.tar.gz\n# gzip -cd drbd-9.1.6.tar.gz | tar xvf -\n# mkdir rpmbuild\n# mkdir rpmbuild\/BUILD rpmbuild\/RPMS rpmbuild\/SOURCES rpmbuild\/SPECS rpmbuild\/SRPMS\n# cd drbd-9.1.6\n# make kmp-rpm<\/pre>\n\n\n\n<p>\u6b21\u306b\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># wget https:\/\/pkg.linbit.com\/\/downloads\/drbd\/utils\/drbd-utils-9.20.2.tar.gz\n# cp drbd-utils-9.20.2.tar.gz ~\/rpmbuild\/SOURCES\/\n# cd ~\/rpmbuild\/SOURCES\/\n# gzip -cd drbd-utils-9.20.2.tar.gz | tar xvf -\n# cd drbd-utils-9.20.2\n# .\/autogen.sh\n# .\/configure --enable-spec\n# rpmbuild -bb drbd.spec --without sbinsymlinks --without heartbeat --with prebuiltman<\/pre>\n\n\n\n<p>\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u305frpm\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># ~\/rpmbuild\/RPMS\/x86_64 \n# dnf -y localinstall kmod-drbd-9.1.6_4.18.0_365-1.x86_64.rpm drbd-utils-9.20.2-1.el8.x86_64.rpm drbd-bash-completion-9.20.2-1.el8.x86_64.rpm drbd-xen-9.20.2-1.el8.x86_64.rpm drbd-udev-9.20.2-1.el8.x86_64.rpm drbd-pacemaker-9.20.2-1.el8.x86_64.rpm drbd-man-ja-9.20.2-1.el8.x86_64.rpm drbd-9.20.2-1.el8.x86_64.rpm<\/pre>\n\n\n\n<p>DRDB\u7528\u306e\u30dd\u30fc\u30c8\u3082\u958b\u653e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># firewall-cmd --add-port=6996-7800\/tcp --permanent\n# firewall-cmd --reload<\/pre>\n\n\n\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># cd \/etc\/drbd.d\/\n# vi r0.res\n\u2193\u3000\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u8ffd\u8a18\u3057\u307e\u3059\nresource r0 {\n    net{\n        protocol    C;\n        max-buffers 128K;\n    }\n    on node1 {\n        device    \/dev\/drbd0;\n        disk      \/dev\/sdb1;\n        address   192.168.1.231:7788;\n        meta-disk internal;\n    }\n \n    on node2 {\n        device    \/dev\/drbd0;\n        disk      \/dev\/sdb;\n        address   192.168.1.232:7788;\n        meta-disk internal;\n    }\n}<\/pre>\n\n\n\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u3067\u304d\u305f\u306e\u3067\u3001\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># drbdadm create-md r0<\/pre>\n\n\n\n<p>\u3053\u3053\u307e\u3067\u3067\u304d\u305f\u3089\u4eee\u60f3\u30de\u30b7\u30f3\u3092\u30af\u30ed\u30fc\u30f3\u3057\u307e\u3059\u3002<br>\u30af\u30ed\u30fc\u30f3\u5f8c\u306f\u30db\u30b9\u30c8\u540d\u3001IP\u30a2\u30c9\u30ec\u30b9\u3092\u5fd8\u308c\u305a\u306b\u5909\u66f4\u3057\u307e\u3059\u3002<br>\u307e\u305f\u3001ESXi\u306e\u8a2d\u5b9a\u3067\u8a72\u5f53\u30de\u30b7\u30f3\u306e\u30bb\u30ad\u30e5\u30a2\u30d6\u30fc\u30c8\u3092\u7121\u52b9\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4e21\u30ce\u30fc\u30c9\u3067DRBD\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd01 ~]# drbdadm up r0\n[root@drbd02 ~]# drbdadm up r0<\/pre>\n\n\n\n<p>\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u3068Inconsistent\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u540c\u671f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd01 ~]# drbdadm status r0\nr0 role:Secondary\n  disk:Inconsistent\n  drbd02 role:Secondary\n    peer-disk:Inconsistent<\/pre>\n\n\n\n<p>\u7247\u30ce\u30fc\u30c9\u3092\u30d7\u30e9\u30a4\u30de\u30ea\u306b\u5909\u66f4\u3057\u3001\u30bb\u30ab\u30f3\u30c0\u30ea\u306b\u623b\u3057\u307e\u3059\u3002\u3059\u308b\u3068UpToDate\u306b\u5909\u308f\u308a\u307e\u3059\u3002\u3053\u308c\u3067\u540c\u671f\u5b8c\u4e86\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd01 ~]# drbdadm --force primary r0\n[root@drbd01 ~]# drbdadm secondary r0\n[root@drbd01 ~]# drbdadm status r0\nr0 role:Secondary\n  disk:UpToDate\n  drbd02 role:Secondary\n    replication:SyncSource peer-disk:Inconsistent done:21.07\n\n[root@drbd01 ~]# drbdadm status r0\nr0 role:Secondary\n  disk:UpToDate\n  drbd02 role:Secondary\n    peer-disk:UpToDate<\/pre>\n\n\n\n<p>\u30c7\u30a3\u30b9\u30af\u304c\u7528\u610f\u3067\u304d\u305f\u306e\u3067\u3001\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u4f5c\u308a\u307e\u3059\u3002\uff11\u30ce\u30fc\u30c9\u5074\u3067xfs\u3067\u30b5\u30af\u30c3\u3068\u4f5c\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd01 ~]# mkfs.xfs \/dev\/drbd0<\/pre>\n\n\n\n<p>\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u304c\u3067\u304d\u305f\u306e\u3067\u3001\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd01 ~]# mkdir \/drbd0\n[root@drbd01 ~]# chmod 777 \/drbd0\n[root@drbd02 ~]# mkdir \/drbd0\n[root@drbd02 ~]# chmod 777 \/drbd0<\/pre>\n\n\n\n<p>\u4e21\u30ce\u30fc\u30c9\u3067\u30de\u30a6\u30f3\u30c8\u3092\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd01 ~]#  mount \/dev\/drbd0 \/drbd0\n[root@drbd01 ~]# drbdadm status r0\nr0 role:Primary\n  disk:UpToDate\n  drbd02 role:Secondary\n    peer-disk:UpToDate\n\n[root@drbd01 ~]# umount \/drbd0\n[root@drbd01 ~]# drbdadm status r0\nr0 role:Secondary\n  disk:UpToDate\n  drbd02 role:Secondary\n    peer-disk:UpToDate\n\n[root@drbd02 ~]# mount \/dev\/drbd0 \/drbd0\n[root@drbd02 ~]# drbdadm status r0\nr0 role:Primary\n  disk:UpToDate\n  drbd01 role:Secondary\n    peer-disk:UpToDate\n\n[root@drbd02 ~]# umount \/drbd0\n[root@drbd02 ~]# drbdadm status r0\nr0 role:Secondary\n  disk:UpToDate\n  drbd01 role:Secondary\n    peer-disk:UpToDate<\/pre>\n\n\n\n<p>\u6b21\u306b\u4e21\u30ce\u30fc\u30c9\u3067NFS\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># dnf -y install nfs-utils\n# vi \/etc\/exports\n\u2193\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u8ffd\u8a18\u3057\u307e\u3059\n\/drbd0 192.168.0.0\/16(rw)\n# firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent\n# firewall-cmd --reload<\/pre>\n\n\n\n<p>\u6700\u5f8c\u306bkeepalived\u3067\u5207\u66ff\u6642\u306bNFS\u3092\u8d77\u52d5\uff0f\u505c\u6b62\u3092\u3055\u305b\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># vi \/usr\/local\/sbin\/keepalived_master\n\u2193\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u8ffd\u8a18\u3057\u307e\u3059\n#!\/bin\/sh\nmount \/dev\/drbd0 \/drbd0\nsystemctl start rpcbind nfs-server\n\n# vi \/usr\/local\/sbin\/keepalived_backup\n\u2193\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u8ffd\u8a18\u3057\u307e\u3059\n#!\/bin\/sh\numount \/drbd0\nsystemctl stop rpcbind nfs-server\n\n# chmod +x \/usr\/local\/sbin\/keepalived_master\n# chmod +x \/usr\/local\/sbin\/keepalived_backup\n# vi \/etc\/keepalived\/keepalived.conf\n! Configuration File for keepalived\nglobal_defs {\n  vrrp_garp_master_refresh 60\n  garp_master_delay        5\n  advert_int               1\n}\nvrrp_instance VI_1 {\n  state             BACKUP\n  interface         ens192\n  virtual_router_id 230\n  priority          100\n  advert_int        3\n  authentication {\n    auth_type PASS\n    auth_pass password\n  }\n  virtual_ipaddress {\n    192.168.1.230\/24\n  }\n  \u2193\u4ee5\u4e0b\u3092\u8ffd\u8a18\n  notify_master \"\/usr\/local\/sbin\/keepalived_master\"\n  notify_backup \"\/usr\/local\/sbin\/keepalived_backup\"\n  notify_fault  \"\/usr\/local\/sbin\/keepalived_backup\"\n  notify_stop   \"\/usr\/local\/sbin\/keepalived_backup\"\n}\n<\/pre>\n\n\n\n<p>keepalived\u3092\u518d\u8d77\u52d5\u3057\u3066\u78ba\u8a8d\u3057\u307e\u3059\u3002\u4eca\u56de\u306fdrbd02\u304cVIP\u3092\u53d6\u5f97\u3057\u305f\u306e\u3067\u3001rdbd02\u3067NFS\u3092\u8d77\u52d5\u3057\u3066\u307e\u3059\u306d\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd02 ~]# systemctl restart keepalived.service\n[root@drbd01 ~]# systemctl restart keepalived.service\n[root@drbd01 ~]# systemctl status rpcbind nfs-server\n\u25cf rpcbind.service - RPC Bind\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/rpcbind.service; disabled; vendor pr>\n   Active: inactive (dead) since Sun 2022-02-20 10:53:57 JST; 1min 23s ago\n\n\u25cf nfs-server.service - NFS server and services\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nfs-server.service; disabled; vendor>\n  Drop-In: \/run\/systemd\/generator\/nfs-server.service.d\n           mqorder-with-mounts.conf\n   Active: inactive (dead) since Sun 2022-02-20 10:49:47 JST; 5min ago\n\n[root@drbd02 ~]# systemctl status rpcbind nfs-server\n\u25cf rpcbind.service - RPC Bind\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/rpcbind.service; disabled; vendor pr>\n   Active: active (running) since Sun 2022-02-20 10:53:58 JST; 1min 5s ago\n\n\u25cf nfs-server.service - NFS server and services\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nfs-server.service; disabled; vendor>\n  Drop-In: \/run\/systemd\/generator\/nfs-server.service.d\n           mqorder-with-mounts.conf\n   Active: active (exited) since Sun 2022-02-20 10:53:58 JST; 1min 5s ago<\/pre>\n\n\n\n<p>\u3053\u306e\u72b6\u614b\u3067\u5207\u66ff\u3092\u884c\u3046\u3068rdbd01\u3067NFS\u3092\u8d77\u52d5\u3059\u308b\u3053\u3068\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@drbd02 ~]# systemctl restart keepalived.service\n[root@drbd02 ~]# systemctl status rpcbind nfs-server\n\u25cf rpcbind.service - RPC Bind\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/rpcbind.service; disabled; vendor pr>\n   Active: inactive (dead) since Sun 2022-02-20 10:57:28 JST; 24s ago\n\n\u25cf nfs-server.service - NFS server and services\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nfs-server.service; disabled; vendor>\n  Drop-In: \/run\/systemd\/generator\/nfs-server.service.d\n           mqorder-with-mounts.conf\n   Active: inactive (dead) since Sun 2022-02-20 10:57:27 JST; 25s ago\n\n[root@drbd01 ~]# systemctl status rpcbind nfs-server\n\u25cf rpcbind.service - RPC Bind\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/rpcbind.service; disabled; vendor pr>\n   Active: active (running) since Sun 2022-02-20 10:57:28 JST; 49s ago\n\n\u25cf nfs-server.service - NFS server and services\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nfs-server.service; disabled; vendor>\n  Drop-In: \/run\/systemd\/generator\/nfs-server.service.d\n           mqorder-with-mounts.conf\n   Active: active (exited) since Sun 2022-02-20 10:57:28 JST; 49s ago<\/pre>\n\n\n\n<p>\u30b5\u30fc\u30d3\u30b9\u304c\u5207\u308a\u66ff\u3048\u3067\u304d\u3066\u3044\u308b\u306e\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u306d\u3002DRBD\u306e\u81ea\u52d5\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u3067\u30b5\u30fc\u30d3\u30b9\u306b\u5408\u308f\u305b\u3066Primary\u306f\u81ea\u52d5\u7684\u306b\u5207\u308a\u66ff\u308f\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>VIP\u306b\u6307\u5b9a\u3057\u305f192.168.1.230\u3092\u6307\u5b9a\u3059\u308b\u3068ESXi\u304b\u3089\u30de\u30a6\u30f3\u30c8\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>ESXi\u3067\u30de\u30a6\u30f3\u30c8\u3057\u305f\u30c9\u30e9\u30a4\u30d6\u3092Win10\u306eVM\u304b\u3089\u30d9\u30f3\u30c1\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u540c\u4e00\u30ce\u30fc\u30c9\u306eESXi\u3067\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3044\u308b\u306e\u3067Read\u306f\u305d\u308c\u306a\u308a\u306b\u901f\u5ea6\u304c\u51fa\u3066\u3044\u307e\u3059\u3002\u305f\u3060\u3001Write\u306f\u30ce\u30fc\u30c9\u9593\u306e\u901a\u4fe1\u304c\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306b\u306a\u308b\u3088\u3046\u3067\u3059\u306d\u3002\u30ce\u30fc\u30c9\u9593\u306f1GbE\u306a\u306e\u3067\u7406\u8ad6\u5024\u3067125MB\/s\u7a0b\u5ea6\u3060\u3068\u8003\u3048\u308b\u3068\u52b9\u7387\u306e\u826f\u3044\u6570\u5024\u304c\u51fa\u3066\u3044\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1002\" height=\"547\" src=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-3.png\" alt=\"\" class=\"wp-image-413\" srcset=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-3.png 1002w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-3-300x164.png 300w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-3-768x419.png 768w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-3-624x341.png 624w\" sizes=\"auto, (max-width: 1002px) 100vw, 1002px\" \/><\/a><\/figure>\n\n\n\n<p>\u3061\u306a\u307f\u306b\u5171\u6709\u30c7\u30a3\u30b9\u30af\u306b\u4f7f\u7528\u3057\u3066\u3044\u308b\u30c7\u30a3\u30b9\u30af\u9818\u57df\u306b\u5bfe\u3059\u308b\u30d9\u30f3\u30c1\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1002\" height=\"547\" src=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-2.png\" alt=\"\" class=\"wp-image-410\" srcset=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-2.png 1002w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-2-300x164.png 300w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-2-768x419.png 768w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-2-624x341.png 624w\" sizes=\"auto, (max-width: 1002px) 100vw, 1002px\" \/><\/a><\/figure>\n\n\n\n<p>\u30d9\u30f3\u30c1\u4e2d\u306b\u5207\u308a\u66ff\u3048\u3092\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u9752\u3067\u56f2\u3063\u305f\u3068\u3053\u308d\u3067\u3057\u3070\u3089\u304f\u30a2\u30af\u30c6\u30a3\u30d6\u306f100%\u3067\u8ee2\u9001\u81ea\u4f53\u306f\u6b62\u307e\u308a\u307e\u3059\u304c\u3001\u305d\u306e\u5f8c\u306f\u4f55\u4e8b\u3082\u306a\u304b\u3063\u305f\u3088\u3046\u306b\u30d9\u30f3\u30c1\u304c\u9032\u307f\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"593\" src=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-4.png\" alt=\"\" class=\"wp-image-414\" srcset=\"https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-4.png 666w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-4-300x267.png 300w, https:\/\/blog.gurees.net\/wp-content\/uploads\/2022\/02\/image-4-624x556.png 624w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><\/a><\/figure>\n\n\n\n<p>\u3053\u308c\u3067\u5197\u9577\u5316\u5171\u6709\u30c7\u30a3\u30b9\u30af\u304c\u304b\u3093\u305f\u3093\u306b\u7d44\u3081\u307e\u3059\u306d\u3002<br>ESXi\u3067NFS\u306f\u9045\u3044\u3068\u6614\u805e\u304d\u307e\u3057\u305f\u304c\u3001\u305d\u308c\u306a\u308a\u306b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u51fa\u308b\uff0bDRBD\u3067\u7b50\u4f53\u5197\u9577\u5316\u3082\u3067\u304d\u308b\u3068\u306a\u308b\u3068\u306a\u304b\u306a\u304b\u4f7f\u3044\u52dd\u624b\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u81ea\u5b85\u306e\u30b7\u30b9\u30c6\u30e0\u306fiSCSI\u306e\u30c7\u30a3\u30b9\u30af\u304c\u5358\u4e00\u969c\u5bb3\u70b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u5171\u6709\u30c7\u30a3\u30b9\u30af\u306b\u95a2\u3057\u3066\u306f\u5197\u9577\u5316\u3059\u308b\u306e\u306f\u96e3\u3057\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3057\u305f\u304c\u3001DRBD\uff0bKeepalived \uff0bNFS\u3092\u7528\u3044\u3066ESXi\u3067\u4f7f\u3048\u308b\u5197\u9577\u5316\u5171\u6709\u30c7\u30a3\u30b9\u30af\u3092\u8a66\u3057\u3066\u307f\u3088 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,19],"tags":[],"class_list":["post-412","post","type-post","status-publish","format-standard","hentry","category-esxi","category-linux"],"_links":{"self":[{"href":"https:\/\/blog.gurees.net\/index.php?rest_route=\/wp\/v2\/posts\/412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.gurees.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gurees.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gurees.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gurees.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=412"}],"version-history":[{"count":5,"href":"https:\/\/blog.gurees.net\/index.php?rest_route=\/wp\/v2\/posts\/412\/revisions"}],"predecessor-version":[{"id":448,"href":"https:\/\/blog.gurees.net\/index.php?rest_route=\/wp\/v2\/posts\/412\/revisions\/448"}],"wp:attachment":[{"href":"https:\/\/blog.gurees.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gurees.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gurees.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}