第 3 章 GNBD 驱​​​​​​​动​​​​​​​程​​​​​​​序​​​​​​​及​​​​​​​命​​​​​​​令​​​​​​​用​​​​​​​法​​​​​​​


全​​​​​​​局​​​​​​​网​​​​​​​络​​​​​​​块​​​​​​​设​​​​​​​备​​​​​​​(GNBD)驱​​​​​​​动​​​​​​​程​​​​​​​序​​​​​​​允​​​​​​​许​​​​​​​节​​​​​​​点​​​​​​​作​​​​​​​为​​​​​​​一​​​​​​​个​​​​​​​ GNBD 通​​​​​​​过​​​​​​​网​​​​​​​络​​​​​​​导​​​​​​​出​​​​​​​其​​​​​​​本​​​​​​​地​​​​​​​存​​​​​​​储​​​​​​​,以​​​​​​​便​​​​​​​网​​​​​​​络​​​​​​​中​​​​​​​的​​​​​​​其​​​​​​​它​​​​​​​节​​​​​​​点​​​​​​​可​​​​​​​共​​​​​​​享​​​​​​​此​​​​​​​存​​​​​​​储​​​​​​​。​​​​​​​导​​​​​​​入​​​​​​​ GNBD 的​​​​​​​客​​​​​​​户​​​​​​​端​​​​​​​节​​​​​​​点​​​​​​​可​​​​​​​象​​​​​​​使​​​​​​​用​​​​​​​其​​​​​​​它​​​​​​​块​​​​​​​设​​​​​​​备​​​​​​​一​​​​​​​样​​​​​​​使​​​​​​​用​​​​​​​它​​​​​​​。​​​​​​​在​​​​​​​多​​​​​​​客​​​​​​​户​​​​​​​端​​​​​​​中​​​​​​​导​​​​​​​入​​​​​​​ GNBD 可​​​​​​​形​​​​​​​成​​​​​​​共​​​​​​​享​​​​​​​存​​​​​​​储​​​​​​​配​​​​​​​置​​​​​​​,通​​​​​​​过​​​​​​​该​​​​​​​共​​​​​​​享​​​​​​​存​​​​​​​储​​​​​​​配​​​​​​​置​​​​​​​可​​​​​​​使​​​​​​​用​​​​​​​ GFS。​​​​​​​
GNBD 驱​​​​​​​动​​​​​​​程​​​​​​​序​​​​​​​是​​​​​​​通​​​​​​​过​​​​​​​以​​​​​​​下​​​​​​​组​​​​​​​件​​​​​​​实​​​​​​​施​​​​​​​的​​​​​​​。​​​​​​​
  • gnbd_serv — 部​​​​​​​署​​​​​​​ GNBD 服​​​​​​​务​​​​​​​器​​​​​​​。​​​​​​​它​​​​​​​是​​​​​​​一​​​​​​​个​​​​​​​用​​​​​​​户​​​​​​​空​​​​​​​间​​​​​​​守​​​​​​​护​​​​​​​进​​​​​​​程​​​​​​​,允​​​​​​​许​​​​​​​节​​​​​​​点​​​​​​​通​​​​​​​过​​​​​​​网​​​​​​​络​​​​​​​导​​​​​​​出​​​​​​​本​​​​​​​地​​​​​​​存​​​​​​​储​​​​​​​。​​​​​​​
  • gnbd.ko — 在​​​​​​​ GNBD 客​​​​​​​户​​​​​​​端​​​​​​​(使​​​​​​​用​​​​​​​ GNBD 设​​​​​​​备​​​​​​​的​​​​​​​节​​​​​​​点​​​​​​​)中​​​​​​​部​​​​​​​署​​​​​​​ GNBD 设​​​​​​​备​​​​​​​驱​​​​​​​动​​​​​​​程​​​​​​​序​​​​​​​。​​​​​​​
可​​​​​​​用​​​​​​​来​​​​​​​配​​​​​​​置​​​​​​​ GNBD 的​​​​​​​两​​​​​​​个​​​​​​​命​​​​​​​令​​​​​​​:
  • gnbd_export (for servers) — User program for creating, exporting, and managing GNBDs on a GNBD server.
  • gnbd_import(用​​​​​​​于​​​​​​​客​​​​​​​户​​​​​​​端​​​​​​​)— 在​​​​​​​ GNBD 客​​​​​​​户​​​​​​​端​​​​​​​中​​​​​​​导​​​​​​​入​​​​​​​和​​​​​​​管​​​​​​​理​​​​​​​ GNBD 的​​​​​​​用​​​​​​​户​​​​​​​程​​​​​​​序​​​​​​​。​​​​​​​

3.1. 从​​​​​​​服​​​​​​​务​​​​​​​器​​​​​​​中​​​​​​​导​​​​​​​出​​​​​​​ GNBD

在​​​​​​​某​​​​​​​个​​​​​​​节​​​​​​​点​​​​​​​可​​​​​​​作​​​​​​​为​​​​​​​ GNBD 导​​​​​​​出​​​​​​​存​​​​​​​储​​​​​​​前​​​​​​​必​​​​​​​须​​​​​​​在​​​​​​​其​​​​​​​中​​​​​​​运​​​​​​​行​​​​​​​ gnbd_serv 守​​​​​​​护​​​​​​​进​​​​​​​程​​​​​​​。​​​​​​​您​​​​​​​可​​​​​​​以​​​​​​​按​​​​​​​以​​​​​​​下​​​​​​​方​​​​​​​法​​​​​​​运​​​​​​​行​​​​​​​ gnbd_serv 启​​​​​​​动​​​​​​​ gnbd_serv
#gnbd_serv
gnbd_serv: startup succeeded
确​​​​​​​定​​​​​​​要​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​本​​​​​​​地​​​​​​​存​​​​​​​储​​​​​​​后​​​​​​​,可​​​​​​​使​​​​​​​用​​​​​​​ gnbd_export 命​​​​​​​令​​​​​​​导​​​​​​​出​​​​​​​它​​​​​​​。​​​​​​​

注意

当​​​​​​​您​​​​​​​使​​​​​​​用​​​​​​​设​​​​​​​备​​​​​​​映​​​​​​​射​​​​​​​器​​​​​​​多​​​​​​​路​​​​​​​径​​​​​​​配​​​​​​​置​​​​​​​ GNBD 服​​​​​​​务​​​​​​​器​​​​​​​时​​​​​​​,您​​​​​​​一​​​​​​​定​​​​​​​不​​​​​​​能​​​​​​​使​​​​​​​用​​​​​​​页​​​​​​​面​​​​​​​缓​​​​​​​存​​​​​​​。​​​​​​​所​​​​​​​有​​​​​​​是​​​​​​​本​​​​​​​地​​​​​​​卷​​​​​​​一​​​​​​​部​​​​​​​分​​​​​​​的​​​​​​​ GNBD 必​​​​​​​须​​​​​​​在​​​​​​​禁​​​​​​​用​​​​​​​缓​​​​​​​存​​​​​​​的​​​​​​​情​​​​​​​况​​​​​​​下​​​​​​​运​​​​​​​行​​​​​​​。​​​​​​​默​​​​​​​认​​​​​​​情​​​​​​​况​​​​​​​是​​​​​​​ gnbd_export 命​​​​​​​令​​​​​​​导​​​​​​​出​​​​​​​时​​​​​​​缓​​​​​​​存​​​​​​​是​​​​​​​关​​​​​​​闭​​​​​​​的​​​​​​​。​​​​​​​

注意

服​​​​​​​务​​​​​​​器​​​​​​​不​​​​​​​应​​​​​​​该​​​​​​​导​​​​​​​入​​​​​​​ GNBD 使​​​​​​​用​​​​​​​其​​​​​​​作​​​​​​​为​​​​​​​客​​​​​​​户​​​​​​​端​​​​​​​。​​​​​​​如​​​​​​​果​​​​​​​服​​​​​​​务​​​​​​​器​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​设​​​​​​​备​​​​​​​是​​​​​​​没​​​​​​​有​​​​​​​缓​​​​​​​冲​​​​​​​的​​​​​​​,gfs 也​​​​​​​可​​​​​​​以​​​​​​​使​​​​​​​用​​​​​​​基​​​​​​​本​​​​​​​设​​​​​​​备​​​​​​​。​​​​​​​

用​​​​​​​法​​​​​​​

gnbd_export -d pathname -e gnbdname [-c][-u][-U
pathname
指​​​​​​​定​​​​​​​要​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​存​​​​​​​储​​​​​​​设​​​​​​​备​​​​​​​。​​​​​​​
gnbdname
为​​​​​​​ GNBD 选​​​​​​​择​​​​​​​任​​​​​​​意​​​​​​​指​​​​​​​定​​​​​​​的​​​​​​​名​​​​​​​称​​​​​​​。​​​​​​​它​​​​​​​可​​​​​​​作​​​​​​​为​​​​​​​ GNBD 客​​​​​​​户​​​​​​​端​​​​​​​中​​​​​​​的​​​​​​​设​​​​​​​备​​​​​​​名​​​​​​​称​​​​​​​。​​​​​​​这​​​​​​​个​​​​​​​名​​​​​​​字​​​​​​​必​​​​​​​须​​​​​​​在​​​​​​​网​​​​​​​络​​​​​​​中​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​所​​​​​​​有​​​​​​​ GNBD 中​​​​​​​是​​​​​​​唯​​​​​​​一​​​​​​​的​​​​​​​。​​​​​​​
-o
以​​​​​​​只​​​​​​​读​​​​​​​方​​​​​​​式​​​​​​​导​​​​​​​出​​​​​​​该​​​​​​​设​​​​​​​备​​​​​​​。​​​​​​​
-c
启​​​​​​​用​​​​​​​缓​​​​​​​冲​​​​​​​。​​​​​​​从​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​ GNBD 读​​​​​​​取​​​​​​​并​​​​​​​利​​​​​​​用​​​​​​​ Linux 页​​​​​​​面​​​​​​​缓​​​​​​​存​​​​​​​。​​​​​​​
默​​​​​​​认​​​​​​​情​​​​​​​况​​​​​​​下​​​​​​​,gnbd_export 命​​​​​​​令​​​​​​​不​​​​​​​启​​​​​​​用​​​​​​​缓​​​​​​​存​​​​​​​。​​​​​​​

注意

当​​​​​​​您​​​​​​​使​​​​​​​用​​​​​​​设​​​​​​​备​​​​​​​映​​​​​​​射​​​​​​​器​​​​​​​多​​​​​​​路​​​​​​​径​​​​​​​配​​​​​​​置​​​​​​​ GNBD 服​​​​​​​务​​​​​​​器​​​​​​​时​​​​​​​,不​​​​​​​要​​​​​​​指​​​​​​​定​​​​​​​ -c 选​​​​​​​项​​​​​​​。​​​​​​​所​​​​​​​有​​​​​​​是​​​​​​​逻​​​​​​​辑​​​​​​​卷​​​​​​​一​​​​​​​部​​​​​​​分​​​​​​​的​​​​​​​ GNBD 必​​​​​​​须​​​​​​​在​​​​​​​禁​​​​​​​用​​​​​​​缓​​​​​​​存​​​​​​​的​​​​​​​情​​​​​​​况​​​​​​​下​​​​​​​运​​​​​​​行​​​​​​​。​​​​​​​

注意

如​​​​​​​果​​​​​​​您​​​​​​​已​​​​​​​经​​​​​​​使​​​​​​​用​​​​​​​了​​​​​​​ GFS 5.2 或​​​​​​​者​​​​​​​早​​​​​​​期​​​​​​​的​​​​​​​版​​​​​​​本​​​​​​​且​​​​​​​不​​​​​​​想​​​​​​​要​​​​​​​更​​​​​​​改​​​​​​​您​​​​​​​的​​​​​​​ GNBD 设​​​​​​​置​​​​​​​,您​​​​​​​应​​​​​​​该​​​​​​​指​​​​​​​定​​​​​​​ -c 选​​​​​​​项​​​​​​​。​​​​​​​在​​​​​​​ GFS 发​​​​​​​行​​​​​​​本​​​​​​​ 5.2.1 之​​​​​​​前​​​​​​​的​​​​​​​版​​​​​​​本​​​​​​​中​​​​​​​,是​​​​​​​默​​​​​​​认​​​​​​​为​​​​​​​ gnbd_export 启​​​​​​​用​​​​​​​ Linux 缓​​​​​​​存​​​​​​​。​​​​​​​如​​​​​​​果​​​​​​​没​​​​​​​有​​​​​​​指​​​​​​​定​​​​​​​ -c 选​​​​​​​项​​​​​​​,那​​​​​​​么​​​​​​​ GNBD 的​​​​​​​性​​​​​​​能​​​​​​​会​​​​​​​显​​​​​​​著​​​​​​​下​​​​​​​降​​​​​​​。​​​​​​​同​​​​​​​时​​​​​​​,如​​​​​​​果​​​​​​​没​​​​​​​有​​​​​​​指​​​​​​​定​​​​​​​ -c 选​​​​​​​项​​​​​​​,导​​​​​​​出​​​​​​​的​​​​​​​ GNBD 会​​​​​​​出​​​​​​​现​​​​​​​超​​​​​​​时​​​​​​​,使​​​​​​​用​​​​​​​默​​​​​​​认​​​​​​​超​​​​​​​时​​​​​​​值​​​​​​​(-t 选​​​​​​​项​​​​​​​)。​​​​​​​有​​​​​​​关​​​​​​​ gnbd_export 命​​​​​​​令​​​​​​​的​​​​​​​详​​​​​​​情​​​​​​​及​​​​​​​其​​​​​​​选​​​​​​​项​​​​​​​,请​​​​​​​参​​​​​​​考​​​​​​​ gnbd_export man page。​​​​​​​
-u uid
为​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​设​​​​​​​备​​​​​​​手​​​​​​​动​​​​​​​设​​​​​​​定​​​​​​​全​​​​​​​局​​​​​​​识​​​​​​​别​​​​​​​符​​​​​​​。​​​​​​​这​​​​​​​个​​​​​​​选​​​​​​​项​​​​​​​和​​​​​​​ -e 一​​​​​​​同​​​​​​​使​​​​​​​用​​​​​​​。​​​​​​​UID 是​​​​​​​设​​​​​​​备​​​​​​​映​​​​​​​射​​​​​​​器​​​​​​​多​​​​​​​路​​​​​​​径​​​​​​​来​​​​​​​决​​​​​​​定​​​​​​​哪​​​​​​​些​​​​​​​设​​​​​​​备​​​​​​​属​​​​​​​于​​​​​​​多​​​​​​​路​​​​​​​径​​​​​​​映​​​​​​​射​​​​​​​。​​​​​​​一​​​​​​​个​​​​​​​设​​​​​​​备​​​​​​​必​​​​​​​须​​​​​​​有​​​​​​​一​​​​​​​个​​​​​​​用​​​​​​​于​​​​​​​多​​​​​​​路​​​​​​​径​​​​​​​的​​​​​​​ UID 。​​​​​​​但​​​​​​​是​​​​​​​,对​​​​​​​大​​​​​​​多​​​​​​​数​​​​​​​ SCSI 设​​​​​​​备​​​​​​​来​​​​​​​说​​​​​​​,默​​​​​​​认​​​​​​​获​​​​​​​得​​​​​​​ UID 的​​​​​​​命​​​​​​​令​​​​​​​ /usr/sbin/gnbd_get_uid 将​​​​​​​返​​​​​​​回​​​​​​​适​​​​​​​当​​​​​​​的​​​​​​​值​​​​​​​。​​​​​​​

注意

UID 指​​​​​​​向​​​​​​​要​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​设​​​​​​​备​​​​​​​,而​​​​​​​不​​​​​​​是​​​​​​​ GNBD 本​​​​​​​身​​​​​​​。​​​​​​​只​​​​​​​有​​​​​​​在​​​​​​​导​​​​​​​出​​​​​​​同​​​​​​​一​​​​​​​个​​​​​​​基​​​​​​​本​​​​​​​设​​​​​​​备​​​​​​​时​​​​​​​,两​​​​​​​个​​​​​​​ GNBD 设​​​​​​​备​​​​​​​的​​​​​​​ UID 才​​​​​​​应​​​​​​​该​​​​​​​是​​​​​​​相​​​​​​​等​​​​​​​的​​​​​​​。​​​​​​​这​​​​​​​就​​​​​​​是​​​​​​​说​​​​​​​两​​​​​​​个​​​​​​​ GNBD 服​​​​​​​务​​​​​​​器​​​​​​​连​​​​​​​接​​​​​​​到​​​​​​​同​​​​​​​一​​​​​​​个​​​​​​​物​​​​​​​理​​​​​​​设​​​​​​​备​​​​​​​。​​​​​​​

注意

当​​​​​​​ -U command 选​​​​​​​项​​​​​​​不​​​​​​​工​​​​​​​作​​​​​​​时​​​​​​​,这​​​​​​​个​​​​​​​选​​​​​​​项​​​​​​​应​​​​​​​该​​​​​​​只​​​​​​​用​​​​​​​于​​​​​​​导​​​​​​​出​​​​​​​共​​​​​​​享​​​​​​​存​​​​​​​储​​​​​​​设​​​​​​​备​​​​​​​。​​​​​​​这​​​​​​​在​​​​​​​ SCSI 设​​​​​​​备​​​​​​​中​​​​​​​基​​​​​​​本​​​​​​​不​​​​​​​会​​​​​​​发​​​​​​​生​​​​​​​。​​​​​​​如​​​​​​​果​​​​​​​两​​​​​​​个​​​​​​​ GNBD 设​​​​​​​备​​​​​​​没​​​​​​​有​​​​​​​导​​​​​​​出​​​​​​​同​​​​​​​一​​​​​​​基​​​​​​​本​​​​​​​设​​​​​​​备​​​​​​​,但​​​​​​​给​​​​​​​出​​​​​​​相​​​​​​​同​​​​​​​的​​​​​​​ UID,则​​​​​​​会​​​​​​​发​​​​​​​生​​​​​​​数​​​​​​​据​​​​​​​崩​​​​​​​溃​​​​​​​。​​​​​​​
-U Command
获​​​​​​​得​​​​​​​ UID 的​​​​​​​命​​​​​​​令​​​​​​​。​​​​​​​UID 命​​​​​​​令​​​​​​​是​​​​​​​一​​​​​​​个​​​​​​​为​​​​​​​导​​​​​​​出​​​​​​​的​​​​​​​设​​​​​​​备​​​​​​​获​​​​​​​得​​​​​​​统​​​​​​​一​​​​​​​识​​​​​​​别​​​​​​​符​​​​​​​的​​​​​​​ gnbd_export 命​​​​​​​令​​​​​​​。​​​​​​​该​​​​​​​ UID 是​​​​​​​使​​​​​​​用​​​​​​​带​​​​​​​ GNBD 的​​​​​​​设​​​​​​​备​​​​​​​映​​​​​​​射​​​​​​​器​​​​​​​多​​​​​​​路​​​​​​​径​​​​​​​所​​​​​​​必​​​​​​​须​​​​​​​的​​​​​​​。​​​​​​​该​​​​​​​命​​​​​​​令​​​​​​​必​​​​​​​须​​​​​​​使​​​​​​​用​​​​​​​您​​​​​​​要​​​​​​​运​​​​​​​行​​​​​​​的​​​​​​​任​​​​​​​意​​​​​​​可​​​​​​​执​​​​​​​行​​​​​​​全​​​​​​​路​​​​​​​径​​​​​​​。​​​​​​​一​​​​​​​个​​​​​​​命​​​​​​​令​​​​​​​中​​​​​​​可​​​​​​​包​​​​​​​含​​​​​​​ %M、​​​​​​​%m 或​​​​​​​者​​​​​​​ %n 换​​​​​​​码​​​​​​​序​​​​​​​列​​​​​​​。​​​​​​​%M 可​​​​​​​扩​​​​​​​展​​​​​​​为​​​​​​​导​​​​​​​出​​​​​​​设​​​​​​​备​​​​​​​的​​​​​​​主​​​​​​​号​​​​​​​码​​​​​​​,%m 可​​​​​​​扩​​​​​​​展​​​​​​​为​​​​​​​导​​​​​​​出​​​​​​​设​​​​​​​备​​​​​​​的​​​​​​​副​​​​​​​号​​​​​​​码​​​​​​​,%n 可​​​​​​​扩​​​​​​​展​​​​​​​为​​​​​​​该​​​​​​​设​​​​​​​备​​​​​​​的​​​​​​​ sysfs 名​​​​​​​称​​​​​​​。​​​​​​​如​​​​​​​果​​​​​​​没​​​​​​​有​​​​​​​给​​​​​​​出​​​​​​​命​​​​​​​令​​​​​​​,GNBD 将​​​​​​​默​​​​​​​认​​​​​​​使​​​​​​​用​​​​​​​命​​​​​​​令​​​​​​​ /usr/sbin/gnbd_get_uid。​​​​​​​这​​​​​​​个​​​​​​​命​​​​​​​令​​​​​​​对​​​​​​​大​​​​​​​多​​​​​​​数​​​​​​​ SCSI 设​​​​​​​备​​​​​​​都​​​​​​​适​​​​​​​用​​​​​​​。​​​​​​​

示​​​​​​​例​​​​​​​

这​​​​​​​个​​​​​​​示​​​​​​​例​​​​​​​是​​​​​​​配​​​​​​​置​​​​​​​了​​​​​​​ GNBD 多​​​​​​​路​​​​​​​径​​​​​​​的​​​​​​​ GNBD 服​​​​​​​务​​​​​​​器​​​​​​​。​​​​​​​它​​​​​​​将​​​​​​​设​​​​​​​备​​​​​​​ /dev/sdc2 导​​​​​​​出​​​​​​​为​​​​​​​ gamma。​​​​​​​默​​​​​​​认​​​​​​​禁​​​​​​​用​​​​​​​缓​​​​​​​冲​​​​​​​。​​​​​​​
gnbd_export -d /dev/sdc2 -e gamma -U
这​​​​​​​个​​​​​​​示​​​​​​​例​​​​​​​是​​​​​​​没​​​​​​​有​​​​​​​配​​​​​​​置​​​​​​​ GNBD 多​​​​​​​路​​​​​​​径​​​​​​​的​​​​​​​ GNBD 服​​​​​​​务​​​​​​​器​​​​​​​。​​​​​​​它​​​​​​​将​​​​​​​ /dev/sdb2 设​​​​​​​备​​​​​​​导​​​​​​​出​​​​​​​为​​​​​​​ GNBD delta,并​​​​​​​禁​​​​​​​用​​​​​​​缓​​​​​​​冲​​​​​​​。​​​​​​​
gnbd_export -d /dev/sdb1 -e delta -c
这​​​​​​​个​​​​​​​示​​​​​​​例​​​​​​​将​​​​​​​ /dev/sdb2 设​​​​​​​备​​​​​​​导​​​​​​​出​​​​​​​为​​​​​​​ GNBD delta,并​​​​​​​启​​​​​​​用​​​​​​​缓​​​​​​​冲​​​​​​​。​​​​​​​
gnbd_export -d /dev/sdb2 -e delta -c
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.