Đây là lệnh nbdkit có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
nbdkit - Bộ công cụ để tạo máy chủ NBD
SYNOPSIS
nbdkit [--dump-config] [-f] [-g NHÓM] [-i IPADDR]
[-P PIDFILE] [-p PORT] [-r] [--run CMD] [-s]
[-U Ổ cắm] [-u USER] [-v] [-V]
PLUGIN [key = value [key = value [...]]]
MÔ TẢ
Thiết bị khối mạng (NBD) là một giao thức mạng để truy cập các thiết bị khối qua
mạng. Thiết bị khối là đĩa cứng và những thứ hoạt động giống như đĩa cứng chẳng hạn như đĩa
hình ảnh và máy ảo.
"nbdkit" vừa là bộ công cụ để tạo máy chủ NBD từ các nguồn "độc đáo" và
tên của máy chủ NBD.
Để tạo nguồn Thiết bị Chặn Mạng mới, tất cả những gì bạn cần làm là viết một ít keo
các hàm, có thể bằng C, hoặc có thể bằng ngôn ngữ cấp cao như Perl hoặc Python. Các
cấp phép tự do của nbdkit có nghĩa là cho phép bạn liên kết nbdkit với
thư viện hoặc bao gồm nbdkit trong mã độc quyền.
Nếu bạn muốn viết một plugin nbdkit, bạn nên đọc plugin nbdkit(3).
Có thể tìm thấy một số plugin trong "$ libdir / nbdkit / plugins". Bạn có thể cung cấp đường dẫn đầy đủ đến
plugin, như thế này:
nbdkit $ libdir / nbdkit / plugins / nbdkit-file-plugin.so […]
nhưng thường thuận tiện hơn khi sử dụng cú pháp tương đương này:
tệp nbdkit [...]
$ libdir được đặt tại thời điểm biên dịch. Để in nó ra, hãy làm:
nbdkit --dump-config
VÍ DỤ
Cung cấp tệp "disk.img" trên cổng 10809:
nbdkit tệp tệp = disk.img
Chạy plugin example1 và kết nối với nó bằng cá khách(1):
ví dụ nbdkit1
guestfish --ro -a nbd: // localhost
Chạy plugin example3 và kết nối với nó bằng cá khách(1):
nbdkit example3 size = 1G
guestfish --ro -a nbd: // localhost
Để hiển thị thông tin sử dụng về một plugin cụ thể:
nbdkit --help ví dụ1
GLOBAL LỰA CHỌN
--Cứu giúp
Hiển thị thông tin sử dụng dòng lệnh ngắn gọn và thoát.
--dump-config
Kết xuất các giá trị cấu hình thời gian biên dịch và thoát.
-f
--vấn đề xung quanh
--không có nĩa
Đừng ngã ba vào nền.
-g NHÓM
--tập đoàn NHÓM
Thay đổi nhóm thành "GROUP" sau khi khởi động. Tên nhóm hoặc ID nhóm số có thể là
đã sử dụng.
Máy chủ cần có đủ quyền để có thể thực hiện việc này. Thông thường điều này sẽ
có nghĩa là khởi động máy chủ dưới dạng root.
Xem thêm -u.
-i IPADDR
--ip-addr IPADDR
--ipaddr IPADDR
Nghe trên giao diện được chỉ định. Mặc định là nghe trên tất cả các giao diện. Nhìn thấy
Ngoài ra -p.
-P TẬP TIN
--pid-tệp TẬP TIN
--pidfile TẬP TIN
Viết "PIDFILE" (chứa ID tiến trình của máy chủ) sau khi nbdkit trở nên sẵn sàng
để chấp nhận các kết nối.
Nếu tệp đã tồn tại, nó sẽ bị ghi đè. nbdkit làm không xóa tệp khi
nó thoát ra.
-p PORT
--Hải cảng PORT
Thay đổi số cổng TCP / IP mà nbdkit phục vụ các yêu cầu. Giá trị mặc định là 10809.
Xem thêm -i.
-r
--chỉ đọc
--chỉ đọc
Bản xuất sẽ ở chế độ chỉ đọc. Nếu một máy khách viết, thì nó sẽ gặp lỗi.
Lưu ý rằng một số plugin vốn dĩ không hỗ trợ ghi. Với những plugin đó, -r
tùy chọn được thêm ngầm.
Máy chủ này không hỗ trợ chức năng copy-on-write (hoặc "snapshot"). Tuy vậy
nếu bạn đang sử dụng qemu như một ứng dụng khách (hoặc gián tiếp thông qua libguestfs) thì nó sẽ hỗ trợ
ảnh chụp nhanh.
--chạy CMD
Chạy nbdkit dưới dạng một quy trình con bị giam giữ của "CMD". Khi "CMD" thoát ra, nbdkit sẽ bị giết. Nhìn thấy
"CAPTIVE NBDKIT" bên dưới.
Tùy chọn này ngụ ý --vấn đề xung quanh.
-s
--Độc thân
--stdin
Đừng ngã ba. Xử lý một kết nối NBD duy nhất trên stdin / stdout. Sau khi stdin đóng,
máy chủ thoát.
Bạn có thể sử dụng tùy chọn này để chạy nbdkit từ inetd, systemd hoặc các superserver tương tự; hoặc
chỉ để thử nghiệm; hoặc nếu bạn muốn chạy nbdkit theo cách phi thông thường.
Tùy chọn này ngụ ý --vấn đề xung quanh.
-U Ổ CẮM
--unix Ổ CẮM
-U -
--unix -
Chấp nhận các kết nối trên ổ cắm miền Unix "SOCKET" (là một đường dẫn).
nbdkit tạo ra ổ cắm này, nhưng nó có thể sẽ có quyền không chính xác (quá
cho phép). Nếu đó là sự cố mà một số người dùng trái phép có thể kết nối với điều này
giữa thời điểm nbdkit khởi động và người dùng được ủy quyền kết nối, sau đó
đặt socket vào một thư mục có quyền hạn chế.
nbdkit không không xóa tệp ổ cắm khi nó thoát. Người gọi nên xóa
tệp socket sau khi sử dụng (nếu không, nếu bạn cố gắng khởi động lại nbdkit, bạn sẽ nhận được
Lỗi "Địa chỉ đã được sử dụng").
Nếu tên ổ cắm là - sau đó nbdkit tạo một ổ cắm riêng được đặt tên ngẫu nhiên. Cái này
hữu ích với "CAPTIVE NBDKIT".
-u USER
--người sử dụng USER
Thay đổi người dùng thành "USER" sau khi khởi động. Có thể sử dụng tên người dùng hoặc ID người dùng số.
Máy chủ cần có đủ quyền để có thể thực hiện việc này. Thông thường điều này sẽ
có nghĩa là khởi động máy chủ dưới dạng root.
Xem thêm -g.
-v
--dài dòng
Bật thông báo dài dòng.
Đó là một ý tưởng tốt để sử dụng -f cũng như để quá trình không phân nhánh vào nền
(nhưng không bắt buộc).
-V
--phiên bản
In số phiên bản của nbdkit và thoát.
CẮM VÀO CẤU HÌNH
Sau khi chỉ định tên plugin, bạn có thể (tùy chọn, tùy thuộc vào plugin)
cấu hình plugin trên dòng lệnh dưới dạng "key = value". Ví dụ:
nbdkit tệp tệp = disk.img
Để liệt kê tất cả các tùy chọn được hỗ trợ bởi một plugin, hãy thực hiện:
nbdkit - tệp trợ giúp
TÙ NHÂN NBDKIT
Bạn có thể chạy nbdkit dưới dạng "quy trình bị giam giữ", bằng cách sử dụng --chạy Lựa chọn. Điều này có nghĩa là nbdkit
chạy miễn là (ví dụ) Ái chà(1) hoặc cá khách(1) đang chạy. Khi những người đó thoát ra, nbdkit
bị giết.
Một số ví dụ sẽ làm rõ điều này.
Để chạy nbdkit bị giam giữ trong qemu:
nbdkit file file = disk.img --run 'qemu -drive file = $ nbd, if = virtio'
Trên dòng lệnh qemu, $ nbd được thay thế tự động bằng đường dẫn NBD bên phải nên nó
có thể kết nối với nbdkit. Khi qemu thoát ra, nbdkit sẽ bị giết và tự động dọn dẹp.
Chạy nbdkit bị giam cầm dưới khách cá:
nbdkit file file = disk.img --run 'guestfish --format = raw -a $ nbd -i'
Khi cá khách thoát ra, nbdkit sẽ bị giết.
Các biến shell sau đây có sẵn trong --chạy tranh luận:
$ nbd
URL đề cập đến cổng hoặc ổ cắm nbdkit.
Lưu ý rằng có một số điều kỳ diệu ở đây, vì URL qemu và guestfish có định dạng khác nhau,
vì vậy nbdkit cố gắng đoán bạn đang chạy. Nếu phép thuật không hoạt động, hãy thử sử dụng
thay vào đó là các biến bên dưới.
$ port
Nếu ≠ "", là số cổng mà nbdkit đang nghe.
$ unixsocket
Nếu ≠ "", ổ cắm miền Unix mà nbdkit đang nghe.
--chạy ngụ ý --vấn đề xung quanh. Không thể, và có lẽ là không mong muốn, có
nbdkit fork vào nền khi sử dụng --chạy.
Ngay cả khi chạy bị cố định, nbdkit vẫn lắng nghe trên cổng TCP / IP thông thường, trừ khi bạn
chỉ định la -p/-U tùy chọn. Nếu bạn muốn có một nbdkit bị giam giữ thực sự riêng tư, thì bạn nên
tạo một ổ cắm Unix ngẫu nhiên riêng tư, như thế này:
nbdkit -U - plugin [args] --run '...'
TÍN HIỆU
"nbdkit" phản hồi các tín hiệu sau:
"SIGINT"
"SIGQUIT"
"SIGTERM"
Máy chủ thoát sạch.
"SIGPIPE"
Tín hiệu này bị bỏ qua.
Sử dụng nbdkit trực tuyến bằng các dịch vụ onworks.net
