iSCSI เชฆเซเชตเชพเชฐเชพ Ceph - เช…เชฅเชตเชพ เชเซ‚เชฒเชพเชฎเชพเช‚ เชŠเชญเชพ เชฐเชนเซ€เชจเซ‡ เชธเซเช•เซ€เช‡เช‚เช—

เชถเซเช‚ เช†เชชเชฃเซ€ เชตเชšเซเชšเซ‡ เชเชตเชพ เชฒเซ‹เช•เซ‹ เช›เซ‡ (เชคเซเชธเซ‡เชซเซ‹เชตเซ‹เชกเซ‹เชต) เชœเซ‡เชฎเชจเซ‡ โ€œเชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช• เช†เชคเซเชฏเช‚เชคเชฟเช•โ€ เชชเชธเช‚เชฆ เชจเชฅเซ€?

เชคเซ‡ เช…เชธเช‚เชญเชตเชฟเชค เช›เซ‡ - เช…เชจเซเชฏเชฅเชพ เช…เชฎเซ‡ เช† เช…เชคเซเชฏเช‚เชค เชฐเชธเชชเซเชฐเชฆ เช…เชจเซ‡ เชฐเชฎเซเชœเซ€ เช‰เชคเซเชชเชพเชฆเชจ เชธเชพเชฅเซ‡ เช—เซ‚เช‚เชšเชตเชตเซเช‚ เชจเชนเซ€เช‚.

เชœเซ‡เช“ Ceph เชจเชพ เช“เชชเชฐเซ‡เชถเชจเชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ เชนเชคเชพ เชคเซ‡เช“เชฎเชพเช‚เชจเชพ เช˜เชฃเชพ เชเช• เชธเชพเชฅเซ‡ เช†เชตเซเชฏเชพ เช›เซ‡ เชœเซ‡ เช–เซ‚เชฌ เชœ เชตเชพเชฐเช‚เชตเชพเชฐ (เช…เชฅเชตเชพ เชคเซ‹ เชฌเชนเซ เช“เช›เชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚) เชชเชฐเช‚เชคเซ เช•เซเชฏเชพเชฐเซ‡เช• เชฎเชพเช‚เช—เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ - Ceph เชจเซ‡ iSCSI เช…เชฅเชตเชพ FC เชฆเซเชตเชพเชฐเชพ เชœเซ‹เชกเชคเชพ เชนเชคเชพ. เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡? เชธเชพเชฐเซเช‚, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, Ceph เชฅเซ€ Windows เช…เชฅเชตเชพ Solaris เชธเชฐเซเชตเชฐ เชชเชฐ เชเช• เช›เชฌเซ€ เชธเชฌเชฎเชฟเชŸ เช•เชฐเซ‹ เชœเซ‡ เชนเชœเซ€ เชธเซเชงเซ€ เช•เซ‹เชˆ เช•เชพเชฐเชฃเซ‹เชธเชฐ เชตเชฐเซเชšเซเชฏเซเช…เชฒเชพเชˆเช เชฅเชˆ เชจเชฅเซ€. เช…เชฅเชตเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒเชพเช‡เชเซเชก, เชชเชฐเช‚เชคเซ เชนเชพเช‡เชชเชฐเชตเชพเช‡เชเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเซ‡ Ceph เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ - เช…เชจเซ‡, เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เชœเชพเชฃเซ€เช เช›เซ€เช, เชคเซ‡เชฎเชพเช‚ เชชเซเชทเซเช•เชณ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช›เซ‡. เชฆเชพเช–เซเชฒเชพ เชคเชฐเซ€เช•เซ‡? เช เซ€เช• เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, HyperV เช…เชฅเชตเชพ ESXi, เชœเซ‡ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡. เช…เชจเซ‡ เชœเซ‹ เช•เชพเชฐเซเชฏ Ceph เชฅเซ€ เช—เซ‡เชธเซเชŸ เชฎเชถเซ€เชจเชฎเชพเช‚ เช‡เชฎเซ‡เชœ เช†เชชเชตเชพเชจเซเช‚ เช‰เชฆเซเชญเชตเซ‡ เช›เซ‡, เชคเซ‹ เช† เชเช• เช–เซ‚เชฌ เชœ เช†เช•เชฐเซเชทเช• เช•เชพเชฐเซเชฏเชฎเชพเช‚ เชซเซ‡เชฐเชตเชพเชฏ เช›เซ‡.

เชคเซ‡เชฅเซ€, เช†เชชเซ‡เชฒ:

  1. เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒ Ceph เช•เซเชฒเชธเซเชŸเชฐ
  2. เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชฐเชนเซ‡เชฒเซ€ เชˆเชฎเซ‡เชœ เช•เซ‡ เชœเซ‡ iSCSI เชฎเชพเชฐเชซเชคเซ‡ เชธเซ‡เชตเชพ เช†เชชเชตเซ€ เชœเซ‹เชˆเช
  3. เชชเซ‚เชฒเชจเซเช‚ เชจเชพเชฎ เชฎเชพเชฏเชชเซ‚เชฒ, เช›เชฌเซ€เชจเซเช‚ เชจเชพเชฎ เชฎเชพเช‡เชฎเซ‡เชœ

เชถเชฐเซ‚เช†เชค?

เชธเซŒเชชเซเชฐเชฅเชฎ, เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ FC เช…เชฅเชตเชพ iSCSI เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชฐเช‚เชญเช•เชฐเซเชคเชพ เช…เชจเซ‡ เชฒเช•เซเชทเซเชฏ เชœเซ‡เชตเซ€ เชธเช‚เชธเซเชฅเชพเช“ เช›เซ‡. เชŸเชพเชฐเซเช—เซ‡เชŸ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชธเชฐเซเชตเชฐ เช›เซ‡, เช†เชฐเช‚เชญเช•เชฐเซเชคเชพ เช เช•เซเชฒเชพเชฏเชจเซเชŸ เช›เซ‡. เช…เชฎเชพเชฐเซเช‚ เช•เชพเชฐเซเชฏ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชชเซเชฐเชฏเชคเซเชจเซ‹ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญเช•เชฐเซเชคเชพเชจเซ‡ Ceph เช›เชฌเซ€ เชธเชฌเชฎเชฟเชŸ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช†เชชเชฃเซ‡ เชฒเช•เซเชทเซเชฏเชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช. เชชเชฐเช‚เชคเซ เช•เซเชฏเชพเช‚, เช•เชฏเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ?

เชธเชฆเชจเชธเซ€เชฌเซ‡, Ceph เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชเช• เช˜เชŸเช• เช›เซ‡ เชœเซ‡เชจเซเช‚ IP เชธเชฐเชจเชพเชฎเซเช‚ เชจเชฟเชถเซเชšเชฟเชค เช›เซ‡ เช…เชจเซ‡ เชœเซ‡เชจเชพ เชชเชฐ Ceph เชจเชพ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช˜เชŸเช•เซ‹เชฎเชพเช‚เชจเซเช‚ เชเช• เช—เซ‹เช เชตเซ‡เชฒเซเช‚ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เช˜เชŸเช• เชฎเซ‹เชจเชฟเชŸเชฐ เช›เซ‡. เชคเชฆเชจเซเชธเชพเชฐ, เช…เชฎเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เชชเชฐ เชเช• iSCSI เชฒเช•เซเชทเซเชฏ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€เช เช›เซ€เช (เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชฎเชพเชŸเซ‡). เชฎเซ‡เช‚ เช† CentOS เชชเชฐ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เช‰เช•เซ‡เชฒ เช•เซ‹เชˆเชชเชฃ เช…เชจเซเชฏ เชตเชฟเชคเชฐเชฃ เชฎเชพเชŸเซ‡ เชชเชฃ เชฏเซ‹เช—เซเชฏ เช›เซ‡ - เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เชคเชฎเชพเชฐเชพ เชตเชฟเชคเชฐเชฃเชฎเชพเช‚ เชธเซเชตเซ€เช•เชพเชฐเซเชฏ เชนเซ‹เชฏ เชคเซ‡ เชฐเซ€เชคเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

# yum -y install iscsi-initiator-utils targetcli

เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ‹ เชนเซ‡เชคเซ เชถเซเช‚ เช›เซ‡?

  • targetcli โ€” Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฌเชจเซ‡เชฒ SCSI เชฒเช•เซเชทเซเชฏเชจเซ‡ เชธเช‚เชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ
  • iscsi-initiator-utils โ€” Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฌเชจเซ‡เชฒ iSCSI เช‡เชจเชฟเชถเชฟเชฏเซ‡เชŸเชฐเชจเซ‡ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชคเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เชธเชพเชฅเซ‡เชจเซเช‚ เชชเซ‡เช•เซ‡เชœ

iSCSI เชฎเชพเชฐเชซเชคเซ‡ เชˆเชฎเซ‡เชœเชจเซ‡ เชˆเชจเชฟเชถเชฟเชเชŸเชฐเชจเซ‡ เชธเชฌเชฎเชฟเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชˆเชตเซ‡เชจเซเชŸเซเชธเชจเชพ เชตเชฟเช•เชพเชธ เชฎเชพเชŸเซ‡ เชฌเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡ - เชฒเช•เซเชทเซเชฏเชจเชพ เชฏเซเชเชฐเชธเซเชชเซ‡เชธ เชฌเซ‡เช•เชเชจเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช…เชฅเชตเชพ เชˆเชฎเซ‡เชœเชจเซ‡ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชฆเซ‡เช–เชพเชคเชพ เชฌเซเชฒเซ‹เช• เช‰เชชเช•เชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ iSCSI เชฎเชพเชฐเชซเชคเซ‡ เชจเชฟเช•เชพเชธ เช•เชฐเซ‹. เช…เชฎเซ‡ เชฌเซ€เชœเซ€ เชฐเซ€เชคเซ‡ เชœเชˆเชถเซเช‚ - เชฏเซเชเชฐเชธเซเชชเซ‡เชธ เชฌเซ‡เช•เชเชจเซเชก เชนเชœเซ เชชเชฃ "เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช•" เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เช›เซ‡ เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเช• เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชธเชนเซ‡เชœ เชชเชฃ เชคเซˆเชฏเชพเชฐ เชจเชฅเซ€. เช† เช‰เชชเชฐเชพเช‚เชค, เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฎเซเชถเซเช•เซ‡เชฒเซ€เช“ เช›เซ‡, เชœเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชคเชฎเซ‡ เช˜เชฃเซ€ เชตเชพเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ (เช“เชน เชนเซ‹เชฐเชฐ!) เชฆเชฒเซ€เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชœเซ‹ เช†เชชเชฃเซ‡ เชฒเชพเช‚เชฌเชพ เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฏเช•เชฒ เชธเชพเชฅเซ‡ เช•เช‚เชˆเช• เช…เช‚เชถเซ‡ เชธเซเชฅเชฟเชฐ เชตเชฟเชคเชฐเชฃเชจเซ‹ เชชเชฃ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช, เชคเซ‹ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชœเซ‡ เช•เชฐเซเชจเชฒ เช›เซ‡ เชคเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชชเซเชฐเชพเชšเซ€เชจ, เชชเซเชฐเชพเชšเซ€เชจ เช†เชตเซƒเชคเซเชคเชฟ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, CentOS7 เชฎเชพเช‚ เชคเซ‡ 3.10.* เช›เซ‡, CentOS8 เชฎเชพเช‚ เชคเซ‡ 4.19 เช›เซ‡. เช…เชจเซ‡ เช…เชฎเชจเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ 5.3 (เช…เชฅเชตเชพ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ 5.4) เช…เชจเซ‡ เชจเชตเชพเชจเชพ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฐเชธ เช›เซ‡. เชถเชพ เชฎเชพเชŸเซ‡? เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ Ceph เชˆเชฎเซ‡เชœเซ€เชธเชฎเชพเช‚ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เชธเช•เซเชทเชฎ เชนเซ‹เชฏ เช›เซ‡ เชœเซ‡ เชœเซ‚เชจเชพ เช•เชฐเซเชจเชฒ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชค เชจเชฅเซ€. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชตเชฟเชคเชฐเชฃ เชฎเชพเชŸเซ‡ เชจเชตเชพ เช•เชฐเซเชจเชฒ เชธเชพเชฅเซ‡ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชจเซ‡ เชœเซ‹เชกเซ€เช เช›เซ€เช (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, CentOS เชฎเชพเชŸเซ‡ เช† เชเชฒเซ‡เชฐเซ‡เชชเซ‹ เช›เซ‡), เชจเชตเซ€ เช•เชฐเซเชจเชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชจเชตเชพ เช•เชฐเซเชจเชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซ‹:

  • เชชเซเชฐเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชฎเซ‹เชจเชฟเชŸเชฐ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹
  • เช…เชฎเซ‡ เชธเซ‚เชšเชจเชพเช“ เช…เชจเซเชธเชพเชฐ เชเชฒเชฐเซ‡เชชเซ‹ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชจเซ‡ เชœเซ‹เชกเซ€เช เช›เซ€เช - elrepo.org/tiki/tiki-index.php
  • เช•เชฐเซเชจเชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹: yum -y โ€”enablerepo=elrepo-kernel install kernel-ml
  • เชฎเซ‹เชจเชฟเชŸเชฐ เชธเชพเชฅเซ‡ เชธเชฐเซเชตเชฐเชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซ‹ (เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซเชฐเชฃ เชฎเซ‹เชจเชฟเชŸเชฐ เช›เซ‡, เช–เชฐเซเช‚?)

เชฌเซเชฒเซ‹เช• เช‰เชชเช•เชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช›เชฌเซ€เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

# rbd map mypool/myimage
/dev/rbd0

เชœเซ‡ เชฌเชพเช•เซ€ เช›เซ‡ เชคเซ‡ เชฒเช•เซเชทเซเชฏเชจเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เช›เซ‡. เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เชนเซเช‚ เช•เชนเซ‡เชตเชพเชคเชพ เชฒเช•เซเชทเซเชฏเชจเซ‡ เช—เซ‹เช เชตเซ€เชถ. เชกเซ‡เชฎเซ‹ เชฎเซ‹เชก - เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชตเชฟเชจเชพ, เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชฆเซƒเชถเซเชฏเช•เซเชทเชฎ เช…เชจเซ‡ เชธเซเชฒเชญ. เช‰เชคเซเชชเชพเชฆเชจ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚, เชคเชฎเซ‡ เชธเช‚เชญเชตเชคเชƒ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃเชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเชพ เชฎเชพเช—เซ‹ เช›เซ‹ - เชชเชฐเช‚เชคเซ เชคเซ‡ เช†เชœเชจเซ€ เชฎเชพเชคเซเชฐ เชฎเชจเซ‹เชฐเช‚เชœเชจ เชฎเชพเชŸเซ‡เชจเซ€ เช•เชธเชฐเชค เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเซ€ เช…เชตเช•เชพเชถเชจเซ€ เชฌเชนเชพเชฐ เช›เซ‡.

เชซเชพเช‡เชฒ /dev/rbd/mypool/myimage เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชกเชฟเชธเซเช•1 เชจเชพเชฎเชจเซเช‚ เชฌเซ‡เช•เชเชจเซเชก เชฌเชจเชพเชตเซ‹. เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชซเชพเช‡เชฒ เช เชธเชพเช‚เช•เซ‡เชคเชฟเช• เช•เชกเซ€ เช›เซ‡ เชœเซ‡ udev เชกเชฟเชฎเชจ เชฆเซเชตเชพเชฐเชพ /dev/rbd0 เชชเชฐ เช†เชชเชฎเซ‡เชณเซ‡ เชฌเชจเชพเชตเซ‡เชฒ เช›เซ‡. เช…เชฎเซ‡ เชเช• เชธเชพเช‚เช•เซ‡เชคเชฟเช• เชฒเชฟเช‚เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เช•เชพเชฐเชฃ เช•เซ‡ rbd เช‰เชชเช•เชฐเชฃเชจเซเช‚ เชจเชพเชฎ เชœเซ‡ เช•เซเชฐเชฎเชฎเชพเช‚ Ceph เช›เชฌเซ€เช“ เชนเซ‹เชธเซเชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡.

เชฌเซ‡เช•เชเชจเซเชก เชฌเชจเชพเชตเซ‹:

# targetcli /backstores/block create disk1 /dev/rbd/mypool/myimage

iSCSI เชฒเช•เซเชทเซเชฏ เชฌเชจเชพเชตเซ‹:

# targetcli /iscsi create iqn.2020-01.demo.ceph:mypool

เช…เชฎเซ‡ เชฌเซ‡เช•เชเชจเซเชกเชจเซ‡ เชฒเช•เซเชทเซเชฏ เชธเชพเชฅเซ‡ LUN เชคเชฐเซ€เช•เซ‡ เชœเซ‹เชกเซ€เช เช›เซ€เช:

# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/luns create /backstores/block/disk1

เชšเชพเชฒเซ‹ เชกเซ‡เชฎเซ‹ เชฎเซ‹เชก เชฎเชพเชŸเซ‡ เชฒเช•เซเชทเซเชฏเชจเซ‡ เช—เซ‹เช เชตเซ€เช:

# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute demo_mode_write_protect=0
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute generate_node_acls=1
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute cache_dynamic_acls=1

เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเชพเชšเชตเซ‹:

# targetcli saveconfig

เชฒเช•เซเชทเซเชฏเชจเซ€ เชนเชพเชœเชฐเซ€ เชคเชชเชพเชธเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡:

# iscsiadm -m discovery -t st -p 127.0.0.1:3260
127.0.0.1:3260,1 iqn.2020-01.demo.ceph:mypool

เช…เชฎเซ‡ เชฒเช•เซเชทเซเชฏเชจเซ‡ เชœเซ‹เชกเซ€เช เช›เซ€เช:

# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2020-01.demo.ceph:mypool, portal: 127.0.0.1,3260] (multiple)
Login to [iface: default, target: iqn.2020-01.demo.ceph:mypool, portal: 127.0.0.1,3260] successful.

เชœเซ‹ เชคเชฎเซ‡ เชฌเชงเซเช‚ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชฐเซเชฏเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชธเชฐเซเชตเชฐ เชชเชฐ เชจเชตเซ€ เชกเชฟเชธเซเช• เชฆเซ‡เช–เชพเชถเซ‡, เชœเซ‡ SCSI เช‰เชชเช•เชฐเชฃ เชœเซ‡เชตเซ€ เชฆเซ‡เช–เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ Ceph เชจเซ€ เช›เชฌเซ€ เช›เซ‡, เชœเซ‡ iSCSI เชฒเช•เซเชทเซเชฏ เชฆเซเชตเชพเชฐเชพ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชฌเซเชŸ เชธเชฎเชธเซเชฏเชพเช“ เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡, เช•เชจเซ‡เช•เซเชŸเซ‡เชก เชกเชฟเชธเซเช• เช…เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เช†เชฐเช‚เชญเช•เชฐเซเชคเชพ เชชเชพเชธเซ‡เชฅเซ€ เชถเซ‹เชงเชพเชฏเซ‡เชฒ เชฒเช•เซเชทเซเชฏเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡:

# iscsiadm -m node --logout
# iscsiadm -m discoverydb -o delete -t st -p 127.0.0.1:3260

เชœเซ‡ เชฌเชพเช•เซ€ เชฐเชนเซ‡ เช›เซ‡ เชคเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเชพเชจเซเช‚ เช›เซ‡ เชœเซ‡เชฅเซ€ เช›เชฌเซ€ เช†เชชเชฎเซ‡เชณเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชˆ เชœเชพเชฏ เช…เชจเซ‡ เชœเซ‹เชกเชพเชฃ เชชเช›เซ€, เชฒเช•เซเชทเซเชฏ เชธเซเชคเชฐเซ€เช•เชฐเชฃ เชฅเชพเชฏ. เชŸเชพเชฐเซเช—เซ‡เชŸ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชฎเชพเช‚ เชฌเซ‡ เชธเซเชŸเซ‡เชชเซเชธเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ - RBD เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชŸเชพเชฐเซเช—เซ‡เชŸ เชฒเซ‹เชจเซเชš เช•เชฐเชตเซเช‚.

เชชเซเชฐเชฅเชฎ, เชšเชพเชฒเซ‹ เชนเซ‹เชธเซเชŸ เชธเชพเชฅเซ‡ เช†เชฐเชฌเซ€เชกเซ€ เชˆเชฎเซ‡เชœเซ‹เชจเชพ เชธเซเชตเชšเชพเชฒเชฟเชค เชœเซ‹เชกเชพเชฃเชจเซ‡ เช—เซ‹เช เชตเซ€เช. เช† /etc/ceph/rbdmap เชซเชพเช‡เชฒเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชฒเซ€เชŸเซ€เช“ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

# cat /etc/ceph/rbdmap
# RbdDevice Parameters
mypool/myimage id=admin
# systemctl enable rbdmap

เชฒเช•เซเชทเซเชฏ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเซเช‚ เชฅเซ‹เชกเซเช‚ เชตเชงเซ เชœเชŸเชฟเชฒ เช›เซ‡ - เช…เชฎเชพเชฐเซ‡ systemd เชฎเชพเชŸเซ‡ เชเช• เชเช•เชฎ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชถเซ‡:

# cat /usr/lib/systemd/system/scsi-target.service
[Unit] Description=Start iSCSI target

After=network-online.target rbdmap.service
Before=remote-fs-pre.target
Wants=network-online.target remote-fs-pre.target

[Service] Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/targetcli restoreconfig

[Install] WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl enable scsi-target

เช…เช‚เชคเชฟเชฎ เชชเชฐเซ€เช•เซเชทเชฃ เช…เชฎเชพเชฐเชพ เชฎเซ‹เชจเชฟเชŸเชฐเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡ (เชคเซ‡ เชนเชตเซ‡ iSCSI เชฒเช•เซเชทเซเชฏ เช›เซ‡). เช เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชœเซ‹ เช†เชชเชฃเซ‡ เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เช†เชฐเช‚เชญเช•เชฐเซเชคเชพเชจเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชธเชพเชซ เชจ เช•เชฐเซเชฏเซ‹ เชนเซ‹เชค iscsiadm -n discoverydb -o เช•เชพเชขเซ€ เชจเชพเช–เซ‹ ... เชคเชฎเซ‡ เชเชตเชพ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชˆ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡ เชฒเซ‹เชก เชฅเชคเซเช‚ เชจเชฅเซ€ เช…เชฅเชตเชพ เชฒเซ‹เชก เชฅเชตเชพเชฎเชพเช‚ เชฒเชพเช‚เชฌเซ‹ เชธเชฎเชฏ เชฒเซ‡ เช›เซ‡.

เชถเซเช‚ เชฌเชพเช•เซ€ เช›เซ‡?

เชธเชฐเซเชตเชฐ เชชเชฐ เช†เชฐเช‚เชญเช•เชฐเซเชคเชพเชจเซ‡ เช—เซ‹เช เชตเซ‹ เชœเซเชฏเชพเช‚ เช†เชชเชฃเซ‡ เชฒเช•เซเชทเซเชฏ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช.

เช…เชฎเชพเชฐเชพ เชฒเช•เซเชทเซเชฏเชจเซ€ เชฆเซ‹เชท เชธเชนเชฟเชทเซเชฃเซเชคเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเซ€?

เชคเชฎเซ‡ เช เชœ เชฐเซ€เชคเซ‡ เช…เชจเซเชฏ เชฎเซ‹เชจเชฟเชŸเชฐ เชชเชฐ เชฒเช•เซเชทเซเชฏเซ‹เชจเซ‡ เช—เซ‹เช เชตเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชฎเชฒเซเชŸเซ€เชชเชพเชฅ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ (vmware เช†เชจเซ‡ เชธเชฎเชœเชถเซ‡ เช…เชจเซ‡ เช•เชพเชฎ เชชเชฃ เช•เชฐเชถเซ‡, Hyper-V เชธเชฎเชœเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚ - เชคเซ‡เชจเซ‡ SCSI เชฒเซ‰เช•เซเชธเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡). เช•เชฐเซเชจเชฒเชฎเชพเช‚เชฅเซ€ Ceph เช•เซเชฒเชพเชฏเช‚เชŸ เช•เซ‡เชถเซ€เช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซเช‚ เชจ เชนเซ‹เชตเชพเชฅเซ€, เช† เชเช•เชฆเชฎ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡. เช…เชฅเชตเชพ เชฌเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เชคเซเชฐเชฃ เช˜เชŸเช•เซ‹เชจเชพ เช•เซเชฒเชธเซเชŸเชฐ เชธเช‚เชธเชพเชงเชจ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เช›เซ‡ - เชเช• เชธเชฎเชฐเซเชชเชฟเชค เชฒเช•เซเชทเซเชฏ IP เชธเชฐเชจเชพเชฎเซเช‚ เช…เชจเซ‡ rbdmap เช…เชจเซ‡ scsi-เชŸเชพเชฐเซเช—เซ‡เชŸ เชธเซ‡เชตเชพเช“, เช…เชจเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชฟเช‚เช— เชŸเซ‚เชฒเซเชธ (เช•เซ‹เชฃเซ‡ เชชเซ‡เชธเชฎเซ‡เช•เชฐ เช•เชนเซเชฏเซเช‚?) เชฆเซเชตเชพเชฐเชพ เช† เชธเช‚เชธเชพเชงเชจเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเซเช‚.

เช‰เชชเชฆเซเชฐเชตเชจเซ‡ เชฌเชฆเชฒเซ‡

เชœเซ‡เชฎ เชธเซเชชเชทเซเชŸ เช›เซ‡, เช† เชฒเซ‡เช– เชฅเซ‹เชกเซ€ เชฎเชœเชพเช•เชจเซ‹ เช›เซ‡ - เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชพเช‚ เชฎเซ‡เช‚ "เชเชกเชชเชฅเซ€ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡" เชเช• เชœ เชธเชฎเชฏเซ‡ เช˜เชฃเชพ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชตเชฟเชทเชฏเซ‹ เชชเชฐ เชตเชฟเชšเชพเชฐ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ - iSCSI เชฒเช•เซเชทเซเชฏ, เชœเซ‡ เช•เชฆเชพเชš Ceph เช›เชฌเซ€เช“เชจเซ‡ เชจเชฟเช•เชพเชธ เช•เชฐเซ‡ เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€ - เชชเชฐเช‚เชคเซ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, LVM เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชจเชฟเช•เชพเชธ เช•เชฐเซ‹, iSCSI เช‡เชจเชฟเชถเชฟเชฏเซ‡เชŸเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเชฌเชคเซ‹ (เชŸเชพเชฐเซเช—เซ‡เชŸเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเช•เซ‡เชจ เช•เชฐเชตเซเช‚, เชŸเชพเชฐเซเช—เซ‡เชŸ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเซเช‚, เชกเชฟเชธเซเช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเซเช‚, เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€ เชŸเชพเชฐเซเช—เซ‡เชŸ เชเชจเซเชŸเซเชฐเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชกเชฟเชฒเซ€เชŸ เช•เชฐเชตเซ€), systemd เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชฏเซเชจเชฟเชŸ เชฒเช–เชตเซเช‚ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช…เชจเซเชฏ

เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เซเช‚ เช›เซเช‚ เช•เซ‡ เชœเซ‹ เชคเชฎเซ‡ เช† เชธเช‚เชชเซ‚เชฐเซเชฃ เชชเซเชฐเชฏเซ‹เช—เชจเซเช‚ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชจ เช•เชฐเซ‹ เชคเซ‹ เชชเชฃ, เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เช† เชฒเซ‡เช–เชฎเชพเช‚เชฅเซ€ เช•เช‚เชˆเช• เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹