{"id":152969,"date":"2019-08-14T10:16:42","date_gmt":"2019-08-14T02:16:42","guid":{"rendered":"https:\/\/lrxjmw.cn\/?p=152969"},"modified":"2019-08-08T13:20:25","modified_gmt":"2019-08-08T05:20:25","slug":"iscsi-kvm","status":"publish","type":"post","link":"https:\/\/lrxjmw.cn\/iscsi-kvm.html","title":{"rendered":"\u57fa\u4e8eISCSI\u5171\u4eab\u5b58\u50a8\u7684KVM\u9ad8\u53ef\u7528\u7fa4\u96c6\u914d\u7f6e"},"content":{"rendered":"
\r\n\u5b9e\u9a8c\u76ee\u7684\uff1a\u8fd0\u884c\u7684\u865a\u62df\u673a\u53ef\u4ee5\u5728\u7ebf\u5e73\u6ed1\u8fc1\u79fb\uff0c\u4e0d\u4f1a\u7ec8\u7aef\u865a\u62df\u673a\u8fd0\u884c\u7684\u4e1a\u52a1\r\n\u9ad8\u53ef\u7528\u67b6\u6784\uff1apacemaker+corosync \u5e76\u7531pcs\u8fdb\u884c\u7ba1\u7406\r\n\u7cfb\u7edf\u73af\u5883\uff1a\u4e09\u53f0\u673a\u5668\u90fd\u662f\u6700\u65b0\u7684centos7.4\r\n\u6240\u9700\u7ec4\u4ef6\uff1a\r\nDLM\uff0cgfs2\uff0cclvm,pcs\uff0cpacemeker\uff0ccorosync\uff0clibvirtd\uff0cqemu\uff0cqemu-img\r\n\u7ea6\u675f\u5173\u7cfb\uff1aDLM >> CLVM >> GFS2\u6587\u4ef6\u7cfb\u7edf >> VirtualDomain\r\n<\/pre>\n

\"\"<\/p>\n

kvm\u5bbf\u4e3b\u8282\u70b9\u8f6f\u4ef6\u5b89\u88c5<\/strong><\/span><\/div>\n
\r\n#\u865a\u62df\u5316\u8f6f\u4ef6\u5b89\u88c5\r\nyum groups install -y \"Virtualization Platform \" \r\nyum groups install -y \"Virtualization Hypervisor \"\r\nyum groups install -y \"Virtualization Tools \"\r\nyum groups install -y \"Virtualization Client \"\r\n\r\n#\u7fa4\u96c6\u53ca\u914d\u5957\u8f6f\u4ef6\u5b89\u88c5\r\nyum install bash-completion ntpdate tigervnc-server iscsi-initiator-utils -y\r\nyum install pacemaker corosync pcs psmisc policycoreutils-python fence-agents-all -y\r\nyum install dlm lvm2-cluster gfs2-utils -y\r\n\r\n#\u5347\u7ea7\u6807\u51c6\u7684kvm\u7ec4\u4ef6\u4e3aev\u7248\u672c\uff08\u53ef\u9009\uff09\r\nyum install centos-release-qemu-ev -y\r\nyum install qemu-kvm-ev -y\t\t#\u7ecf\u6d4b\u8bd5\uff0c\u5b89\u88c5\u5b83\u540e\uff0c\u521b\u5efa\u865a\u62df\u673a\u65f6\u4f1a\u5361\u4f4f\r\n\r\n#\u6216\u5219\u8fd0\u884c\u4e0b\u9762\u8fd9\u6761\u547d\u4ee4\uff0c\u4e00\u6b65\u5230\u4f4d\r\nyum groups install -y \"Virtualization Platform \"  && yum groups install -y \"Virtualization Hypervisor \" && yum groups install -y \"Virtualization Tools \" yum groups install -y \"Virtualization Client \" && yum install centos-release-qemu-ev tigervnc-server iscsi-initiator-utils vim pacemaker corosync pcs psmisc policycoreutils-python fence-agents-all dlm lvm2-cluster gfs2-utils  bash-completion -y && yum update -y && reboot\r\n<\/pre>\n
\u51c6\u5907\u9636\u6bb5\uff1a\uff08kvm\u5404\u4e2a\u8282\u70b9\u90fd\u9700\u8fdb\u884c\uff09<\/strong><\/span><\/div>\n
\r\n1\uff1ahosts\u6587\u4ef6(vi \/etc\/hosts)\r\n192.168.1.31\tkvm-pt1\r\n192.168.1.32\tkvm-pt2\r\n172.168.1.33\tsan\r\n10.0.0.31\tnode1\r\n10.0.0.32\tnode2\r\n\r\n2\uff1assh key\u4e92\u4fe1\r\nssh-keygen -t rsa -P ''\r\nssh-copy-id -i ~\/.ssh\/id_rsa.pub root@node1\t#\u5230\u81ea\u5df1\u514d\u5bc6\u7801\r\nssh-copy-id -i ~\/.ssh\/id_rsa.pub root@node2\t#\u5230node2\u514d\u5bc6\u7801\uff08\u53cc\u5411\uff09\r\n\r\n3\uff1a\u65f6\u533a\r\ncp -f \/usr\/share\/zoneinfo\/Asia\/Shanghai \/etc\/localtime\r\n\r\n4\uff1a\u5b9a\u65f6\u65f6\u95f4\u540c\u6b65\r\nyum install ntpdate -y\r\ncrontab -e\r\n*\/30 * * * * \/usr\/sbin\/ntpdate time.windows.com &> \/dev\/null\r\n\r\n5\uff1a\u9632\u706b\u5899\r\nfirewall-cmd --permanent --add-service=high-availability\r\nfirewall-cmd --zone=trusted --add-source=10.0.0.0\/24 --permanent\r\nfirewall-cmd --zone=trusted --add-source=192.168.1.0\/24 --permanent\r\nfirewall-cmd --zone=trusted --add-source=172.168.1.0\/24 --permanent\r\nfirewall-cmd --reload\r\n\r\n6\uff1a\u6240\u6709kvm\u5bbf\u4e3b\u8282\u70b9\u521b\u5efa\u76f8\u5173\u76ee\u5f55\r\nmkdir \/kvm-hosts\r\n<\/pre>\n
\u7b2c\u4e00\uff1a\u914d\u7f6epcs\u5b88\u62a4\u7a0b\u5e8f<\/strong><\/span><\/div>\n
\r\nsystemctl start pcsd\r\nsystemctl enable pcsd\r\nsystemctl status pcsd.service\t#\u67e5\u770b\u72b6\u6001\r\n\r\necho \"7845\" | passwd --stdin hacluster\r\npcs cluster auth node1 node2 -u hacluster -p 7845\r\npcs cluster setup --name kvm-ha-cluster node1 node2\t#\u521b\u5efa\u540d\u4e3akvm-ha-cluster\u7684\u7fa4\u96c6\uff0c\u540e\u9762gfs2\u9700\u8981\u518d\u6b21\u7528\u5230\r\npcs cluster start --all\r\npcs cluster enable --all\t#\u5f00\u673a\u81ea\u52a8\u542f\u52a8\u6240\u6709\u7fa4\u96c6\u8282\u70b9  \uff08\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u4e0d\u8981\u5c06\u7fa4\u96c6\u8bbe\u4e3a\u5f00\u673a\u81ea\u542f\u52a8\uff09\r\n<\/pre>\n
\u7b2c\u4e8c\uff1a\u914d\u7f6e\u5b58\u50a8\u8282\u70b9san\uff0c\u5e76\u6302\u8f7discsi\u8bbe\u5907<\/strong><\/span><\/div>\n

\u7531linux-io\u505a\u7684\uff08\u5171\u4eab\u4e86\u4e24\u5757\u78c1\u76d8sdb,sdc\uff09\uff08\u914d\u7f6e\u8fc7\u7a0b\u89c1\u535a\u5ba2\uff09https:\/\/boke.wsfnk.com\/archives\/345.html<\/p>\n

\r\nsdb(42g):\u72ec\u7acb\u78c1\u76d8\uff0c\u7528\u4e8e\u521b\u5efa\u4e86\u57fa\u4e8e\u7fa4\u96c6\u7684lvm\u7528\u4e8e\u865a\u62df\u673a\u5b58\u653e\uff0c\r\nsdc(1M)\uff1a\u5185\u5b58\u5206\u914d\u800c\u6765\uff0c\u7528\u4f5cSTONITH\t\t#\u8fd9\u91cc\u7528disk\u4f5c\u4e3aSTONITH\u8bbe\u5907\uff0c\u5f53\u7136\u53ef\u4ee5\u7528\u5176\u4ed6\u7684\u6bd4\u5982\uff0cilo3\uff0cipmi\u7b49\u7b49\r\n\r\n#\u5c06\u5404\u4e2akvm\u7684iscsi\u540d\u5b57\u4fee\u6539\u4e3a\u901a\u4fd7\u6709\u610f\u4e49\u7684\uff08\u6bcf\u4e2akvm\u5bbf\u4e3b\u8282\u70b9\u90fd\u9700\u8fdb\u884c\uff09\r\n[root@kvm-pt1 ~]# cat \/etc\/iscsi\/initiatorname.iscsi \r\nInitiatorName=iqn.1994-05.com.redhat:node1\r\n\r\n#\u53d1\u73b0\u6302\u8f7d\r\niscsiadm --mode discovery --type sendtargets --portal 1172.168.1.33\r\niscsiadm -m node -L all\r\n<\/pre>\n
\u7b2c\u4e09\uff1a\u914d\u7f6eSTONITH\u9694\u79bb\u8bbe\u5907, DLM\u5206\u5e03\u5f0f\u9501 \u548c gfs2\u6587\u4ef6\u7cfb\u7edf<\/strong><\/span><\/div>\n
\r\n#\u914d\u7f6eSONITH\u9694\u79bb\u8bbe\u5907\uff08\u78c1\u76d8\uff09\u4efb\u610f\u8282\u70b9\uff08sdb\u7528\u505a\u5b58\u50a8\uff0csdc\u7528\u505astonith\u9694\u79bb\u8bbe\u5907\uff09\r\n\r\n[root@kvm-pt1 ~]# ll \/dev\/disk\/by-id\/ |grep sd\r\nlrwxrwxrwx. 1 root root 10 11\u6708 28 15:24 lvm-pv-uuid-wOhqpz-ze94-64Rc-U2ME-STdU-4NUz-AOJ5B3 -> ..\/..\/sda2\r\nlrwxrwxrwx. 1 root root  9 11\u6708 28 15:25 scsi-360014053b477d3fba5a4039a52358f0f -> ..\/..\/sdb\r\nlrwxrwxrwx. 1 root root  9 11\u6708 28 15:25 scsi-36001405419b8568d022462c9c17adca4 -> ..\/..\/sdc\r\nlrwxrwxrwx. 1 root root  9 11\u6708 28 15:25 wwn-0x60014053b477d3fba5a4039a52358f0f -> ..\/..\/sdb\r\nlrwxrwxrwx. 1 root root  9 11\u6708 28 15:25 wwn-0x6001405419b8568d022462c9c17adca4 -> ..\/..\/sdc\r\n\r\n#\u6ce8\u610f:\u8fd9\u91cc\u4f7f\u7528wwn\u53f7\uff0c\u4e0d\u4f7f\u7528scsi\u5f00\u5934\u7684\u90a3\u4e2a\u53f7\r\npcs stonith create scsi-shooter fence_scsi pcmk_host_list=\"node1 node2\" devices=\"\/dev\/disk\/by-id\/wwn-0x6001405419b8568d022462c9c17adca4\" meta provides=unfencing\r\n\r\n#\u914d\u7f6e\u5206\u5e03\u5f0f\u9501DLM\uff08\u4efb\u610f\u8282\u70b9\uff09\r\n\r\n\u65b9\u6cd5\u4e00\uff1a\r\npcs cluster cib dlm_cfg\r\npcs -f dlm_cfg resource create dlm ocf:pacemaker:controld op monitor interval=60s \r\npcs -f dlm_cfg resource clone dlm clone-max=2 clone-node-max=1\r\npcs cluster cib-push dlm_cfg\r\n\r\n\u65b9\u6cd5\u4e8c\uff1a\uff08\u4e00\u6b65\u5230\u4f4d\uff09\r\npcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true\r\n\r\n#\u914d\u7f6eclvm\uff08\u6240\u6709kvm\u8282\u70b9\uff09\r\nlvmconf --enable-cluster\r\nreboot\r\n<\/pre>\n
\u7b2c\u56db\uff1a\u5411\u7fa4\u96c6\u4e2d\u6dfb\u52a0clvm\u8d44\u6e90<\/strong><\/span><\/div>\n
\r\n#\u6dfb\u52a0\u514b\u9686\u7684\u8d44\u6e90\uff0c\u5373\u5728\u6bcf\u4e2anode\u8282\u70b9\u4e0a\u8fd0\u884cclvmd\r\npcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true\r\npcs status\r\n\r\n#\u914d\u7f6e\u7ea6\u675f\uff08clvmd\u5fc5\u987b\u5728dlm\u542f\u52a8\u540e\u542f\u52a8\uff0c\u800c\u4e14\u5fc5\u987b\u5728\u540c\u4e00\u8282\u70b9\u4e0a\uff09\r\npcs constraint order start dlm-clone then clvmd-clone\r\npcs constraint colocation add clvmd-clone with dlm-clone\r\n\r\n#\u67e5\u770bclvmd\u662f\u5426\u542f\u52a8(\u662f\u5426\u6709clvmd\u7ebf\u7a0b)\uff0cok\u7684\r\nsystemctl status pacemaker\r\n\r\n#\u67e5\u770b\u7ea6\u675f\r\npcs constraint\r\n<\/pre>\n
\u7b2c\u4e94\uff1a\u5728\u7fa4\u96c6\u4e2d\u521b\u5efalvm\uff0c\u5e76\u6302\u8f7dgfs2\u6587\u4ef6\u7cfb\u7edf<\/strong><\/span><\/div>\n
\r\n#\u5c06\u53d1\u73b0\u5e76\u767b\u5f55\u7684iscsi\u8bbe\u5907\u4e2dsdb\uff0c\u5206\u4e00\u4e2a\u533a\uff0c\u5e76\u6307\u5b9a\u4e3a8e\u7c7b\u578b\r\nfdisk \/dev\/sdb\r\npartprobe ; multipath -r\t#\u591a\u8def\u5f84\u8f6f\u4ef6reload\u4e00\u4e0b\uff08\u6b64\u5904\u6ca1\u6709\u8bbe\u7f6e\u591a\u8def\u5f84\uff09\r\npvcreate \/dev\/sdb1\r\nvgcreate vmvg0 \/dev\/sdb1\r\nvgs\r\nlvcreate -n lvvm0 -l 100%FREE vmvg0\t#\u8fd9\u91cc\u65e0\u6cd5\u6267\u884c100%\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3alvcreate -n lvvm0 -L 38G vmvg0\r\n\r\n#\u521b\u5efaGFS2\u6587\u4ef6\u7cfb\u7edf\r\nmkfs.gfs2 -p lock_dlm -j 2 -t kvm-ha-cluster:kvm \/dev\/vmvg0\/lvvm0\t\t#-t \u524d\u9762\u662f\u7fa4\u96c6\u540d\u79f0\u540e\u9762\u662f\u81ea\u5b9a\u4e49\r\n\r\n#\u5411\u7fa4\u96c6\u4e2d\u6dfb\u52a0GFS2\u6587\u4ef6\u7cfb\u7edf\r\n##\u6dfb\u52a0\u514b\u9686\u8d44\u6e90\uff0c\u5373\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u5747\u6302\u8f7d\u6587\u4ef6\u7cfb\u7edf\r\npcs resource create VMFS Filesystem device=\"\/dev\/vmvg0\/lvvm0\" directory=\"\/kvm-hosts\" fstype=\"gfs2\" clone\r\n\r\n#\u67e5\u770b\u6240\u6709\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u5c06lvvm0\u6302\u8f7d\u5230\/kvm-hosts\u76ee\u5f55\u4e0b\u4e86\t\u7ed3\u679c\uff1aok\u72b6\u6001\r\n#\u5e76\u540c\u65f6\u6d4b\u8bd5\u8bfb\u5199\u662f\u5426\u53ef\u4ee5\uff0c\u5e76\u67e5\u770b\u5404\u8282\u70b9\u6570\u636e\u662f\u5426\u540c\u6b65\t\t\u7ed3\u679c\uff1aok\r\n<\/pre>\n
\u7b2c\u516d\uff1a\u914d\u7f6e\u7ea6\u675f\u53caselinux<\/strong><\/span><\/div>\n
\r\npcs constraint order clvmd-clone then VMFS-clone\r\npcs constraint colocation add VMFS-clone with clvmd-clone\r\n\r\n#\u518d\u6b21\u67e5\u770b\u4e00\u4e0b\u7ea6\u675f\r\npcs constraint \r\n\r\n#\u914d\u7f6eSELINUX\uff08\u4e0d\u7136\u865a\u62df\u673a\u65e0\u6cd5\u8bbf\u95ee\u5b58\u50a8\u6587\u4ef6\uff09(\u6240\u6709\u8282\u70b9\u90fd\u8981\u505a)\r\nsemanage fcontext -a -t virt_image_t \"\/kvm-hosts(\/.*)?\"\r\n\r\n#\u5982\u679c\u6ca1\u6709semanage\uff0c\u53ef\u4ee5\u5982\u4e0b\u5b89\u88c5\r\nyum install policycoreutils-python\r\nrestorecon -R -v \/kvm-hosts\r\n<\/pre>\n
\u7b2c\u4e03\uff1a\u521b\u5efa\u865a\u62df\u673a<\/strong><\/span><\/div>\n
\r\n#\u5355\u70b9\u521b\u5efa\u865a\u62df\u673a\r\nqemu-img create -f qcow2 \/kvm-hosts\/web01.qcow2 10G\r\nvirt-install --name web01 --virt-type kvm --ram 1024 --cdrom=\/kvm-hosts\/CentOS-7-x86_64-DVD-1611.iso --disk path=\/kvm-hosts\/web01.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7\r\n\r\n#\u914d\u7f6e\u7b2c\u4e09\u65b9\u7ba1\u7406\u673a\u80fd\u7528virtual-manage\u8fde\u63a5\u5e76\u663e\u793akvm-pt\u4e0a\u7684\u865a\u62df\u673a\uff08\u6240\u6709node\u8282\u70b9\u90fd\u8981\uff09\r\nfirewall-cmd --permanent --add-service=vnc-server\r\nfirewall-cmd --reload\r\n\t\r\n#\u914d\u7f6e\u9632\u706b\u5899\uff08\u6240\u6709kvm\u8282\u70b9\uff09\r\nfirewall-cmd --permanent --add-port=16509\/tcp\t#\u8fd9\u662fvirsh -c qemu+tcp:\/\/node2\/system \u6a21\u5f0f\uff0c\u8fd9\u91cc\u4e0d\u4f1a\u7528\u5230\uff0c\u4f46\u8fd8\u662f\u653e\u884c\r\nfirewall-cmd --permanent --add-port=49152-49215\/tcp\t#\u8fc1\u79fb\u7aef\u53e3\r\nfirewall-cmd --reload\r\n\r\n#\u521b\u5efa\u524d\uff1a\u8981\u8fdb\u884c\u8fc1\u79fb\u6d4b\u8bd5(virt-manage\u548c\u547d\u4ee4\u884c)\t\u7ed3\u679c\uff1a\u90fdok\uff0c\u90fd\u80fd\u5e73\u6ed1\u8fc1\u79fb\r\nvirsh migrate web01 qemu+ssh:\/\/root@node2\/system --live --unsafe --persistent --undefinesource\r\n\r\n#\u5bfc\u51faxml\u6587\u4ef6\r\nvirsh dumpxml web01 > \/kvm-hosts\/web01.xml\r\nvirsh undefine web01\r\n\r\n#\u521b\u5efa\u865a\u62df\u673a\uff08\u865a\u62df\u673a\u7684\u78c1\u76d8\u6587\u4ef6\u548cxml\u914d\u7f6e\u6587\u4ef6\u90fd\u8981\u653e\u5728\u5171\u4eab\u5b58\u50a8\u4e0a\uff09(\u865a\u62df\u673a\u7531\u7fa4\u96c6\u8f6f\u4ef6\u6765\u63a7\u5236\uff0c\u4e0d\u7531\u672c\u5730\u7684libvirt\u6765\u63a7\u5236)\r\n\r\npcs resource create web01_res VirtualDomain \\\r\nhypervisor=\"qemu:\/\/\/system\" \\\r\nconfig=\"\/kvm-hosts\/web01.xml\" \\\r\nmigration_transport=\"ssh\" \\\r\nmeta allow-migrate=\"true\" \\\r\n\r\n#\u4e0b\u9762\u8fd9\u662f\u9519\u8bef\u7684\uff0c\u4e0d\u8981\u4f7f\u7528\uff0c\u6211\u66fe\u7ecf\u4e0d\u7ec6\u5fc3\uff0c\u5bfc\u81f4\u6298\u817e\u597d\u4e45\u90fd\u65e0\u6cd5\u5e73\u6ed1\u8fc1\u79fb\uff08ssh\u6a21\u5f0f\u4e0d\u80fd\u5199\u5728\u6700\u540e\u9762\uff09\r\npcs resource create web01_res VirtualDomain \\\r\nhypervisor=\"qemu:\/\/\/system\" \\\r\nconfig=\"\/kvm-hosts\/web01.xml\" \\\r\nmeta allow-migrate=\"true\" priority=\"100\" \\\r\nmigration_transport=ssh \r\n\r\n#\u914d\u7f6e\u7ea6\u675f\uff08\u6bcf\u914d\u7f6e\u4e00\u4e2a\u865a\u62df\u673a\uff0c\u5c31\u9700\u8981\u914d\u7f6e\u4e0b\u9762\u7c7b\u4f3c\u7684\u7ea6\u675f\uff09\r\npcs constraint order start VMFS-clone then web01_res\t\t#\u5148\u542f\u52a8\u6587\u4ef6\u7cfb\u7edf\uff0c\u5728\u542f\u52a8\u865a\u62df\u673a\u8d44\u6e90\r\npcs constraint colocation add web01_res with VMFS-clone\t\t#\u8d44\u6e90\u548c\u6587\u4ef6\u7cfb\u7edf\u8981\u5728\u540c\u4e00\u4f4d\u7f6e\r\npcs constraint\t#\u67e5\u770b\u7ea6\u675f\uff0c\u53ef\u4ee5\u52a0 --full\r\n\r\n#\u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u865a\u62df\u673a\u53ef\u4ee5\u6b63\u5e38\u542f\u52a8\r\n<\/pre>\n
\u7b2c\u516b\uff1a\u8fc1\u79fb\u6d4b\u8bd5<\/strong><\/span><\/div>\n
\r\n#pcs cluster standby node2\t\t\t#\u5e73\u6ed1\u8fc1\u79fbok\r\n#pcs resource move web01_res node2\t\t#\u5e73\u6ed1\u8fc1\u79fbok\r\n#pcs cluster stop\t\t\t\t#\u5e73\u6ed1\u8fc1\u79fbok\r\n#init 6\t\t\t\t\t\t#\u5e73\u6ed1\u8fc1\u79fbno\r\n<\/pre>\n
\u7b2c\u4e5d\uff1a\u8fc1\u79fb\u65b9\u6848<\/strong><\/span><\/div>\n

\u82e5\u662f\u8282\u70b9\u7ef4\u62a4\uff0c\u5efa\u8bae\u5148\u7528move\u547d\u4ee4\u8fc1\u79fb\u865a\u62df\u673a\u5230\u5176\u4ed6\u53ef\u7528node\u4e0a\uff0c\u5728stop\u7ef4\u62a4\u8282\u70b9<\/p>\n","protected":false},"excerpt":{"rendered":"

\u5b9e\u9a8c\u76ee\u7684\uff1a\u8fd0\u884c\u7684\u865a\u62df\u673a\u53ef\u4ee5\u5728\u7ebf\u5e73\u6ed1\u8fc1\u79fb\uff0c\u4e0d\u4f1a\u7ec8\u7aef\u865a\u62df\u673a\u8fd0\u884c\u7684\u4e1a\u52a1 \u9ad8\u53ef\u7528\u67b6\u6784\uff1apacemaker+corosy […]<\/p>\n","protected":false},"author":668,"featured_media":152971,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[55],"tags":[],"class_list":["post-152969","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-thread"],"acf":[],"_links":{"self":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts\/152969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/users\/668"}],"replies":[{"embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/comments?post=152969"}],"version-history":[{"count":4,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts\/152969\/revisions"}],"predecessor-version":[{"id":153184,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/posts\/152969\/revisions\/153184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/media\/152971"}],"wp:attachment":[{"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/media?parent=152969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/categories?post=152969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lrxjmw.cn\/wp-json\/wp\/v2\/tags?post=152969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}