Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Chạy máy chủ | Ubuntu > | Fedora > |


Biểu tượng yêu thích OnWorks

hbal - Trực tuyến trên đám mây

Chạy hbal trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua 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

Đây là lệnh hbal 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 giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


hbal - Bộ cân bằng cụm cho Ganeti

SYNOPSIS


hbal {tùy chọn phụ trợ ...} [tùy chọn thuật toán ...] [tùy chọn báo cáo ...]

hbal --phiên bản

Tùy chọn phụ trợ:

{ -m cụm | -L [ con đường ] [-NS] | -t tập tin dữ liệu | -I con đường }

Các tùy chọn thuật toán:

[ - max-cpu tỷ lệ cpu ] [ --min-disk tỷ lệ đĩa ] [ -l hạn chế ] [ -e Điểm số ] [ -g đồng bằng ] [
--min-gain-limit ngưỡng ] [ -O Tên... ] [ --no-disk-move ] [ --no-instance-move ] [
-U tập tin sử dụng ] [ --ignore-dynu ] [ --ignore-soft-error ] [ --mond có | không ] [ --mond-xen ]
[ --exit-on-thiếu-thứ-dữ liệu ] [ --evac-mode ] [ - hạn chế-di cư ] [
--select-instance inst ... ] [ --exclude-instance inst ... ]

Các tùy chọn báo cáo:

[ -NS[ hồ sơ ] ] [ -P[ các lĩnh vực ] ] [ - cá thể in ] [ -S hồ sơ ] [ -v ... | -q ]

MÔ TẢ


hbal là một trình cân bằng cụm xem trạng thái hiện tại của cụm (các nút có
tổng số và đĩa trống, bộ nhớ, v.v.) của chúng và vị trí phiên bản và tính toán một loạt các
các bước được thiết kế để đưa cụm vào trạng thái tốt hơn.

Thuật toán được sử dụng được thiết kế để ổn định (tức là nó sẽ cung cấp cho bạn kết quả tương tự khi
khởi động lại nó từ giữa giải pháp) và khá nhanh. Tuy nhiên, nó không phải là
được thiết kế để trở thành một thuật toán hoàn hảo: có thể làm cho nó đi vào một góc mà từ đó
nó không thể tìm thấy sự cải thiện, bởi vì nó chỉ có một "bước" trước.

Chương trình truy cập trạng thái cụm thông qua Rapi hoặc Luxi. Nó cũng yêu cầu dữ liệu qua
mạng từ tất cả các MonD với tùy chọn --mond. Hiện tại nó chỉ sử dụng dữ liệu do
Bộ thu tải CPU.

Theo mặc định, chương trình sẽ hiển thị giải pháp tăng dần khi nó được tính toán, trong một
định dạng hơi khó hiểu; để nhận danh sách lệnh Ganeti thực tế, hãy sử dụng -C tùy chọn.

TIẾNG VIỆT
Chương trình hoạt động theo các bước độc lập; ở mỗi bước, chúng tôi tính toán chuyển động ví dụ tốt nhất
điều đó làm giảm điểm của cụm.

Kiểu di chuyển có thể có cho một trường hợp là sự kết hợp của chuyển đổi dự phòng / di chuyển và
đĩa thay thế để chúng tôi thay đổi một trong các nút phiên bản và nút còn lại vẫn
(nhưng có thể với vai trò thay đổi, ví dụ từ chính nó trở thành phụ). Danh sách là:

· Chuyển đổi dự phòng (f)

· Thay thế thứ cấp (r)

· Thay thế chính, một di chuyển tổng hợp (f, r, f)

· Chuyển đổi dự phòng và thay thế thứ cấp, cũng là hỗn hợp (f, r)

· Thay thế thứ cấp và chuyển đổi dự phòng, cũng là hỗn hợp (r, f)

Chúng tôi không thực hiện khả năng duy nhất còn lại là thay thế cả hai nút (r, f, r, f hoặc
tương đương f, r, f, r) vì những động thái này cần tìm kiếm toàn diện trên cả hai ứng cử viên
các nút chính và phụ, và là O (n * n) về số lượng các nút. Hơn nữa, nó
dường như không cho điểm số tốt hơn nhưng sẽ dẫn đến việc thay thế nhiều đĩa hơn.

VỊ TRÍ NHỮNG HẠN CHẾ
Ở mỗi bước, chúng tôi ngăn chặn một lần di chuyển phiên bản nếu nó sẽ gây ra:

· Một nút chuyển sang trạng thái lỗi N + 1

· Một thể hiện để chuyển sang một nút ngoại tuyến (các nút ngoại tuyến hoặc được đọc từ cụm
hoặc khai báo với -O; các nút thoát được coi là ngoại tuyến)

· Xung đột dựa trên thẻ loại trừ (các thẻ loại trừ được đọc từ cụm và / hoặc được xác định
thông qua --xclude-tags không bắt buộc)

· Vượt quá tỷ lệ vcpu / pcpu tối đa (được định cấu hình qua - max-cpu)

· Phần trăm đĩa trống tối thiểu xuống dưới giới hạn đã định cấu hình (được định cấu hình qua --min-disk)

Cụm KIẾM
Như đã nói trước đây, thuật toán cố gắng giảm thiểu điểm số cụm ở mỗi bước. Hiện tại
điểm này được tính dưới dạng tổng trọng số của các thành phần sau:

· Độ lệch tiêu chuẩn của phần trăm bộ nhớ trống

· Độ lệch tiêu chuẩn của phần trăm bộ nhớ dự trữ

· Tổng tỷ lệ phần trăm của bộ nhớ dự trữ

· Độ lệch tiêu chuẩn của phần trăm đĩa trống

· Số lượng nút không kiểm tra N + 1

· Số lượng các trường hợp sống (dưới dạng chính hoặc phụ) trên các nút ngoại tuyến; bên trong
cảm giác của các nút thoát hbal (và các htools khác) được coi là ngoại tuyến

· Số lượng các trường hợp sống (như chính) trên các nút ngoại tuyến; điều này khác với ở trên
chỉ số bằng cách giúp chuyển đổi dự phòng các trường hợp như vậy trong các cụm 2 nút

· Độ lệch chuẩn của tỷ lệ CPU ảo trên vật lý (đối với các trường hợp chính của
nút)

· Độ lệch tiêu chuẩn của phần nhỏ các trục có sẵn (ở chế độ chuyên dụng,
trục xoay thể hiện trục xoay vật lý; nếu không thì biện pháp không thể đăng ký này cho IO
tải và hệ số đăng ký quá mức được tính đến khi tính toán số lượng
trục có sẵn)

· Độ lệch chuẩn của tải động trên các nút, đối với cpus, bộ nhớ, đĩa và mạng

· Độ lệch tiêu chuẩn của tải CPU do MonD cung cấp

· Số lượng các trường hợp có chính và phụ trong cùng một miền lỗi

Bộ nhớ trống và các giá trị đĩa trống giúp đảm bảo rằng tất cả các nút được cân bằng phần nào trong
sử dụng tài nguyên của họ. Bộ nhớ dành riêng giúp đảm bảo rằng các nút phần nào
cân bằng trong việc lưu giữ các phiên bản thứ cấp và không có nút nào giữ quá nhiều bộ nhớ
cho N + 1. Và cuối cùng, tỷ lệ N + 1 giúp hướng dẫn thuật toán theo hướng loại bỏ
N + 1 thất bại, nếu có thể.

Ngoại trừ lỗi N + 1, số lượng các trường hợp ngoại tuyến và vi phạm miền lỗi
số lượng, chúng tôi sử dụng độ lệch chuẩn vì khi được sử dụng với các giá trị trong một phạm vi cố định (chúng tôi
sử dụng phần trăm được biểu thị bằng các giá trị từ XNUMX đến XNUMX) nó cho kết quả nhất quán trên
tất cả các chỉ số (có một số vấn đề nhỏ liên quan đến các phương tiện khác nhau, nhưng nó hoạt động
nói chung là tốt). Các giá trị loại 'đếm' sẽ có điểm cao hơn và do đó sẽ quan trọng hơn
để cân bằng; do đó chúng tốt hơn cho các hạn chế cứng (như di tản các nút và
sửa lỗi N + 1). Ví dụ: số lượng phiên bản ngoại tuyến (tức là số lượng
các phiên bản sống trên các nút ngoại tuyến) sẽ khiến thuật toán chủ động di chuyển các phiên bản
cách xa các nút ngoại tuyến. Điều này, cùng với hạn chế về vị trí được đưa ra bởi ngoại tuyến
các nút, sẽ gây ra sự di tản của các nút như vậy.

Các giá trị tải động cần được đọc từ một tệp bên ngoài (Ganeti không cung cấp
chúng), và được tính cho mỗi nút như: tổng tải cpu phiên bản chính, tổng
tải phiên bản bộ nhớ, tổng tải trọng đĩa phiên bản chính và phụ (khi DRBD tạo ra
ghi tải trên các nút phụ quá trong trường hợp bình thường và trong các tình huống xuống cấp cũng đọc
tải) và tổng tải của mạng phiên bản chính. Một ví dụ về cách tạo
giá trị đầu vào cho hbal sẽ là theo dõi danh sách xm cho các trường hợp trong một ngày và trước
tính toán delta của các giá trị cpu và cấp dữ liệu đó thông qua -U tùy chọn cho tất cả các trường hợp
(và giữ nguyên các chỉ số khác). Để thuật toán hoạt động, tất cả những gì cần thiết là
rằng các giá trị nhất quán cho một chỉ số trên tất cả các trường hợp (ví dụ: tất cả các trường hợp sử dụng
cpu% để báo cáo việc sử dụng cpu và không liên quan đến số giây CPU được sử dụng nếu
CPU thì khác), và chúng được chuẩn hóa từ XNUMX đến XNUMX. Lưu ý rằng nó
được khuyến nghị không có XNUMX làm giá trị tải cho bất kỳ chỉ số phiên bản nào kể từ đó
các trường hợp thứ cấp không được cân bằng tốt.

Tải CPU từ bộ thu thập dữ liệu của MonD sẽ chỉ được sử dụng nếu tất cả các MonD đang chạy,
nếu không nó sẽ không ảnh hưởng đến điểm của cụm. Vì chúng tôi không thể tìm thấy tải CPU của mỗi
ví dụ, chúng ta có thể giả định rằng tải CPU của một phiên bản tỷ lệ với số lượng
vcpus của nó. Với heuristic này, các phiên bản từ các nút có tải CPU cao sẽ có xu hướng di chuyển
đến các nút có tải CPU ít hơn.

Trên một cụm hoàn toàn cân bằng (tất cả các nút có cùng kích thước, tất cả các phiên bản có cùng kích thước và
trải đều trên các nút), giá trị cho tất cả các chỉ số sẽ bằng XNUMX, với
ngoại lệ của tổng số phần trăm bộ nhớ dành riêng. Điều này không xảy ra quá thường xuyên trong
thực hành :)

OFFLINE NÂNG CAO
Vì các phiên bản Ganeti hiện tại không báo cáo bộ nhớ được sử dụng bởi các phiên bản ngoại tuyến (xuống),
bỏ qua trạng thái chạy của các thể hiện sẽ gây ra các tính toán sai. Vì lý do này,
thuật toán trừ kích thước bộ nhớ của các phiên bản xuống từ bộ nhớ nút miễn phí của chúng
nút chính, trên thực tế mô phỏng sự khởi động của các trường hợp như vậy.

LOẠI TRỪ TAGS
Cơ chế thẻ loại trừ được thiết kế để ngăn các trường hợp chạy cùng một khối lượng công việc
(ví dụ: hai máy chủ DNS) đến cùng một nút, điều này sẽ làm cho nút tương ứng trở thành
SPOF cho dịch vụ đã cho.

Nó hoạt động bằng cách gắn thẻ các trường hợp bằng các thẻ nhất định và sau đó xây dựng bản đồ loại trừ dựa trên
này. Những thẻ nào thực sự được sử dụng được định cấu hình thông qua dòng lệnh (tùy chọn
--xclude-tags) hoặc bằng cách thêm chúng vào các thẻ cụm:

--exclusion-tags = a, b
Điều này sẽ làm cho tất cả các thẻ phiên bản của biểu mẫu Một:*, b: * được xem xét cho
bản đồ loại trừ

cụm thẻ htools: iextags: a, htools: iextags: b
Điều này sẽ tạo ra các thẻ phiên bản Một:*, b: * được xem xét cho bản đồ loại trừ. Hơn
chính xác, hậu tố của các thẻ cụm bắt đầu bằng htools: iextags: sẽ trở thành
tiền tố của các thẻ loại trừ.

Cả hai hình thức trên đều có nghĩa là hai trường hợp đều có (ví dụ) thẻ a: foo or b: thanh
sẽ không kết thúc trên cùng một nút.

DI CƯ TAGS
Nếu Ganeti được triển khai trên một cụm không đồng nhất, việc di chuyển có thể không thực hiện được giữa
tất cả các nút của một nhóm nút. Một ví dụ về tình huống như vậy là nâng cấp hypervisor
từng nút. Để làm cho hbal nhận thức được những hạn chế đó, các thẻ cụm sau:
đã sử dụng.

cụm thẻ htools: chuyển đổi: a, htools: chuyển đổi: b, vv
Điều này làm cho các thẻ nút của biểu mẫu Một:*, b: *, v.v. được coi là di cư
sự hạn chế. Chính xác hơn, hậu tố của các thẻ cụm bắt đầu bằng
htools: chuyển đổi: sẽ trở thành tiền tố của các thẻ di chuyển. Chỉ có những người
quá trình di chuyển sẽ được xem xét khi tất cả các thẻ di chuyển của nguồn
nút cũng có mặt trên nút đích.

cụm thẻ htools: allowmigration: x :: y cho di cư thẻ x y
Điều này khẳng định rằng một nút được gắn thẻ y có thể nhận các phiên bản theo cách tương tự như thể
họ đã có một x tag.

Vì vậy, trong trường hợp đơn giản là nâng cấp hypervisor, gắn thẻ tất cả các nút đã được
được nâng cấp với thẻ di chuyển là đủ. Trong những tình huống phức tạp hơn, nó luôn
có thể sử dụng một thẻ di chuyển khác nhau cho mỗi trình siêu giám sát được sử dụng và nêu rõ
các hướng di chuyển được phép bằng các phương tiện htools: allowmigration: thẻ.

ĐỊA ĐIỂM TAGS
Trong một nhóm nút, các nút nhất định có thể có nhiều khả năng bị lỗi đồng thời do
nguyên nhân phổ biến của lỗi (ví dụ: nếu chúng dùng chung bộ cấp nguồn). Ganeti có thể là
nhận thức được các nguyên nhân phổ biến của lỗi bằng các thẻ.

cụm thẻ htools: nlocation: a, htools: nlocation: b, vv
Điều này làm cho các thẻ nút của biểu mẫu Một:*, b: *, v.v. được coi là có điểm chung
nguyên nhân của sự thất bại.

Các trường hợp có nút chính và nút phụ có chung một nguyên nhân gây ra lỗi được coi là
đặt xấu. Mặc dù các vị trí như vậy luôn được cho phép, nhưng chúng được tính rất nhiều vào
điểm của cụm.

LỰA CHỌN


Các tùy chọn có thể được chuyển đến chương trình như sau:

-NS, - lệnh in
In danh sách lệnh khi kết thúc quá trình chạy. Nếu không có điều này, chương trình sẽ chỉ
hiển thị đầu ra ngắn hơn, nhưng khó hiểu.

Lưu ý rằng danh sách di chuyển sẽ được chia thành các bước độc lập, được gọi là "bộ công việc",
nhưng chỉ để kiểm tra trực quan, không phải để song song thực sự. Không phải vậy
có thể song song hóa chúng trực tiếp khi được thực thi thông qua các lệnh "gnt-instance",
vì một lệnh ghép (ví dụ: chuyển đổi dự phòng và các đĩa thay thế) phải được thực thi
nối tiếp. Thực thi song song chỉ có thể thực hiện được khi sử dụng chương trình phụ trợ Luxi và
-L tùy chọn.

Thuật toán để tách các bước di chuyển thành các tập công việc là bằng cách tích lũy các bước di chuyển cho đến khi
bước tiếp theo là chạm vào các nút đã được chạm bởi các bước di chuyển hiện tại; điều này có nghĩa là chúng tôi
không thể thực thi song song (do phân bổ tài nguyên trong Ganeti) và do đó chúng tôi bắt đầu
một tập việc mới.

-P, --print-node
In trạng thái trước và sau nút, ở định dạng được thiết kế để cho phép người dùng
hiểu các tham số quan trọng nhất của nút. Xem trang người đàn ông htools(1) cho
thêm chi tiết về tùy chọn này.

- cá thể in
In bản đồ phiên bản trước và sau. Điều này ít hữu ích hơn vì trạng thái nút,
nhưng nó có thể giúp hiểu được các chuyển động phiên bản.

-O tên
Tùy chọn này (có thể được đưa ra nhiều lần) sẽ đánh dấu các nút là Ngoại tuyến.
Điều này có nghĩa là một số điều:

· Các phiên bản sẽ không được đặt trên các nút này, thậm chí không phải tạm thời; ví dụ như thay thế
chính di chuyển không khả dụng nếu nút phụ ngoại tuyến, vì di chuyển này
yêu cầu chuyển đổi dự phòng.

· Các nút này sẽ không được bao gồm trong tính toán điểm số (ngoại trừ
phần trăm phiên bản trên các nút ngoại tuyến)

Lưu ý rằng thuật toán cũng sẽ đánh dấu là ngoại tuyến bất kỳ nút nào được RAPI báo cáo
chẳng hạn, hoặc có "?" trong đầu vào dựa trên tệp trong bất kỳ trường số nào.

-e Điểm số, --min-score = * điểm *
Tham số này biểu thị mức độ cao hơn N + 1 ràng buộc điểm số cụm để chúng tôi có thể
hài lòng với và thay đổi tính toán theo hai cách:

· Nếu cụm có điểm ban đầu thấp hơn giá trị này, thì chúng tôi không nhập
thuật toán nào đó và thoát thành công

· Trong quá trình lặp lại, nếu chúng tôi đạt điểm thấp hơn giá trị này, chúng tôi thoát
thuật toán

Giá trị mặc định của tham số hiện là 1e-9 (được chọn theo kinh nghiệm).

-g đồng bằng, --min-gain = * delta *
Vì thuật toán cân bằng đôi khi có thể dẫn đến những cải tiến rất nhỏ,
mang lại lợi ích ít hơn mà họ phải trả trong thời gian di dời, tham số này (mặc định
đến 0.01) đại diện cho mức tăng tối thiểu mà chúng tôi yêu cầu trong một bước, để tiếp tục
sự cân bằng.

--min-gain-limit = * ngưỡng *
Tùy chọn tăng tối thiểu ở trên sẽ chỉ có hiệu lực nếu điểm của cụm đã là
phía dưới ngưỡng (mặc định là 0.1). Cơ sở lý luận đằng sau cài đặt này là tại
điểm số cụm cao (các cụm cân bằng kém), chúng tôi không muốn hủy bỏ sự cân bằng lại
quá nhanh, vì lợi nhuận sau này có thể vẫn còn đáng kể. Tuy nhiên, dưới
ngưỡng, tổng mức tăng chỉ là giá trị ngưỡng, vì vậy chúng tôi có thể thoát sớm.

--no-disk-move
Tham số này ngăn không cho hbal sử dụng đĩa di chuyển (tức là "gnt-instance
các hoạt động thay thế-đĩa "). Điều này sẽ dẫn đến việc cân bằng nhanh hơn nhiều, nhưng
tất nhiên những cải tiến còn hạn chế. Người dùng quyết định khi nào sử dụng
cái kia.

--no-instance-move
Tham số này ngăn không cho hbal sử dụng các lần di chuyển phiên bản (tức là "gnt-instance
chuyển đổi / chuyển đổi dự phòng "). Thao tác này sẽ chỉ sử dụng tính năng thay thế đĩa chậm
hoạt động và cũng sẽ cung cấp sự cân bằng kém hơn, nhưng có thể hữu ích nếu di chuyển
các trường hợp xung quanh được coi là không an toàn hoặc không được ưu tiên.

--evac-mode
Tham số này hạn chế danh sách các trường hợp được xem xét để chuyển sang các trường hợp
sống trên các nút ngoại tuyến / thoát nước. Nó có thể được sử dụng như một sự thay thế (số lượng lớn) cho
Của riêng Ganeti gnt-node sơ tán, với lưu ý rằng nó không đảm bảo đầy đủ
sơ tán.

- hạn chế-di cư
Tham số này không cho phép mọi chuyển động thay thế-chính (frf), cũng như những
thay thế và chuyển đổi dự phòng (rf) trong đó nút chính của phiên bản không phải là
ráo nước. Nếu được sử dụng cùng với tùy chọn --evac-mode, chỉ di chuyển
hbal sẽ làm là di chuyển các cá thể ra khỏi một nút thoát. Điều này có thể hữu ích nếu
trong quá trình cài đặt lại hệ điều hành cơ bản, việc di chuyển chỉ có thể thực hiện được từ
hệ điều hành cũ sang hệ điều hành mới. Tuy nhiên, lưu ý rằng thông thường việc sử dụng các thẻ di chuyển là
sự lựa chọn tốt hơn.

--select-instance = * instance *
Tham số này đánh dấu các phiên bản đã cho (dưới dạng danh sách được phân tách bằng dấu phẩy) là duy nhất
những cái được di chuyển trong quá trình cân bằng lại.

--exclude-instance = * instance *
Tham số này đánh dấu các trường hợp đã cho (dưới dạng danh sách được phân tách bằng dấu phẩy) khỏi
di chuyển trong quá trình cân bằng lại.

-U tập tin sử dụng
Tham số này chỉ định thông tin sử dụng động phiên bản giữ tệp
sẽ được sử dụng để điều chỉnh thuật toán cân bằng nhằm cân bằng tải trên các nút
(trái ngược với việc sử dụng tài nguyên tĩnh). Tệp có định dạng "instance_name
cpu_util mem_util disk_util net_util "trong đó các tham số" _util "được diễn giải
như các số và tên phiên bản phải khớp chính xác với phiên bản được đọc từ
Ganeti. Trong trường hợp tên phiên bản không xác định, chương trình sẽ hủy bỏ.

Nếu không được cung cấp, các giá trị mặc định là một cho tất cả các chỉ số và do đó động
việc sử dụng chỉ có một tác dụng đối với thuật toán: sự cân bằng của
các trường hợp trên các nút (đây là chỉ số duy nhất không được theo dõi bởi các nút khác,
giá trị chuyên dụng và do đó tải đĩa của các phiên bản sẽ gây ra phiên bản thứ cấp
cân bằng). Lưu ý rằng giá trị của một cũng sẽ ảnh hưởng một chút đến giá trị chính
số trường hợp, nhưng điều đó đã được theo dõi qua các chỉ số khác và do đó
ảnh hưởng của việc sử dụng động thực tế sẽ không đáng kể.

--ignore-dynu
Nếu được cung cấp, tất cả thông tin sử dụng động sẽ bị bỏ qua bằng cách giả sử nó là
0. Tùy chọn này sẽ được ưu tiên hơn bất kỳ dữ liệu nào được chuyển bởi tùy chọn -U hoặc bởi
MonDs với tùy chọn --mond và --mond-data.

--ignore-soft-error
Nếu được cung cấp, tất cả các kiểm tra lỗi mềm sẽ được bỏ qua khi xem xét cân bằng
di chuyển. Bằng cách này, tiến trình có thể được thực hiện trong một cụm nơi tất cả các nút nằm trong
trạng thái xấu khôn ngoan về chính sách, chẳng hạn như vượt quá tỷ lệ đăng ký quá mức trên CPU hoặc trục xoay.

-S tên tập tin, --save-cluster = * tên tệp *
Nếu được cung cấp, trạng thái của cụm trước khi số dư được lưu vào tệp đã cho
cộng với phần mở rộng "ban đầu" (tức là tên tập tin.original) và trạng thái ở cuối
số dư được lưu vào tệp đã cho cộng với phần mở rộng "cân bằng" (tức là
tên tập tin. cân bằng). Điều này cho phép cung cấp lại trạng thái cụm cho chính nó
hoặc ví dụ: hspace thông qua tùy chọn -t.

-t tập tin dữ liệu, --text-data = * datafile *
Đặc tả phụ trợ: tên của nút giữ tệp và thông tin phiên bản
(nếu không thu thập qua RAPI hoặc LUXI). Cái này hoặc một trong những phần phụ trợ khác phải
đã chọn. Tùy chọn được mô tả trong trang người đàn ông htools(1).

--mond = * có | không *
Nếu được cung cấp, chương trình sẽ truy vấn tất cả các MonD để tìm nạp dữ liệu từ dữ liệu được hỗ trợ
người sưu tập qua mạng.

--mond-xen
Nếu được cung cấp, hãy truy vấn các bộ sưu tập Xen cụ thể từ MonD, miễn là giám sát
daemon được truy vấn ở tất cả.

--exit-on-thiếu-thứ-dữ liệu
Nếu đã cho, hãy hủy bỏ nếu dữ liệu có được từ truy vấn MonDs không đầy đủ. Các
hành vi mặc định là tiếp tục với một dự đoán tốt nhất dựa trên thông tin tĩnh.

--mond-data tập tin dữ liệu
Tên của tệp chứa dữ liệu do MonD cung cấp, để ghi đè MonDs quering
qua mạng. Điều này chủ yếu được sử dụng để gỡ lỗi. Tệp phải ở dạng JSON
định dạng và trình bày một mảng các đối tượng JSON, một đối tượng cho mỗi nút, với hai thành viên.
Thành viên đầu tiên có tên nút là tên của nút và thành viên thứ hai có tên
báo cáo là một mảng các đối tượng báo cáo. Các đối tượng báo cáo phải giống nhau
định dạng do đại lý giám sát tạo ra.

-m cụm
Đặc tả phụ trợ: thu thập dữ liệu trực tiếp từ cụm đưa ra như một đối số
thông qua RAPI. Tùy chọn được mô tả trong trang người đàn ông htools(1).

-L [con đường]
Đặc tả phụ trợ: thu thập dữ liệu trực tiếp từ daemon chính, sẽ
được liên hệ qua LUXI (một giao thức Ganeti nội bộ). Tùy chọn được mô tả trong
trang người đàn ông htools(1).

-X Khi sử dụng chương trình phụ trợ Luxi, hbal cũng có thể thực hiện các lệnh đã cho. Các
phương pháp thực thi là thực thi các tập công việc riêng lẻ (xem -C tùy chọn cho
chi tiết) trong các giai đoạn riêng biệt, hủy bỏ nếu bất kỳ lúc nào một bộ công việc không có tất cả các công việc
thành công. Mỗi bước trong giải pháp cân bằng sẽ được chuyển thành chính xác
một công việc Ganeti (có từ một đến ba OpCodes) và tất cả các bước trong một
Jobet sẽ được thực thi song song. Bản thân các tập việc được thực thi tuần tự.

Việc thực hiện chuỗi công việc có thể bị gián đoạn, hãy xem bên dưới để biết cách xử lý tín hiệu.

-l N, --max-length = * N *
Giới hạn giải pháp ở độ dài này. Điều này có thể được sử dụng chẳng hạn để tự động hóa
thực hiện cân bằng.

--max-cpu = * cpu-ratio *
Tỷ lệ cpu ảo trên vật lý tối đa, dưới dạng số dấu phẩy động lớn hơn
hoặc bằng một. Ví dụ, chỉ định tỷ lệ cpu as 2.5 có nghĩa là, đối với 4 cpu
máy, tối đa 10 cp ảo phải được phép sử dụng cho chính
các trường hợp. Giá trị của chính xác một có nghĩa là sẽ không có quá nhiều đăng ký CPU
(ngoại trừ thời gian CPU được sử dụng bởi chính nút) và các giá trị dưới một giá trị không tạo ra
cảm giác, vì điều đó có nghĩa là các tài nguyên khác (ví dụ: đĩa) sẽ không được sử dụng đầy đủ do
Hạn chế của CPU.

--min-disk = * disk-ratio *
Dung lượng ổ đĩa trống tối thiểu còn lại, dưới dạng số dấu phẩy động. Vì
ví dụ, chỉ định tỷ lệ đĩa as 0.25 có nghĩa là ít nhất một phần tư đĩa
không gian nên được để trống trên các nút.

-G uuid, --group = * uuid *
Trên một cụm nhiều nhóm, hãy chọn nhóm này để xử lý. Nếu không, hbal sẽ
hủy bỏ, vì nó không thể cân bằng nhiều nhóm cùng một lúc.

-v, --verbose
Tăng độ dài đầu ra. Mỗi lần sử dụng tùy chọn này sẽ làm tăng
độ dài (hiện tại hơn 2 không có ý nghĩa) so với mặc định của một.

-NS, --Yên lặng
Giảm độ dài đầu ra. Mỗi lần sử dụng tùy chọn này sẽ làm giảm
chi tiết (nhỏ hơn XNUMX không có ý nghĩa) so với mặc định là một.

-V, --phiên bản
Chỉ cần hiển thị phiên bản chương trình và thoát.

TÍN HIỆU XỬ LÝ


Khi thực hiện các công việc thông qua LUXI (sử dụng tùy chọn -X), thông thường hbal sẽ thực thi tất cả các công việc
cho đến khi một trong hai lỗi hoặc tất cả các công việc kết thúc thành công.

Vì việc cân bằng có thể mất nhiều thời gian, nên có thể ngừng hbal sớm bằng hai cách:

· Bằng cách gửi một SIGINT (^ C), hbal sẽ đăng ký yêu cầu chấm dứt và sẽ đợi
cho đến khi các công việc đã nộp hiện tại kết thúc, lúc đó nó sẽ thoát (với mã thoát 0
nếu tất cả các công việc đã hoàn thành một cách chính xác, nếu không thì với mã thoát 1 như bình thường)

· Bằng cách gửi một SIGTERM, hbal sẽ thoát ngay lập tức (với mã thoát 2); nó là
trách nhiệm của người dùng theo dõi với Ganeti và kiểm tra kết quả của
công việc hiện đang thực hiện

Lưu ý rằng trong mọi tình huống, hoàn toàn an toàn để tiêu diệt hbal, thông qua các tín hiệu trên
hoặc thông qua bất kỳ tín hiệu nào khác (ví dụ: SIGQUIT, SIGKILL), vì bản thân các công việc được xử lý
bởi Ganeti trong khi hbal (sau khi nộp) chỉ xem tiến trình của họ. Trong trường hợp này,
người dùng sẽ phải truy vấn Ganeti để biết kết quả công việc.

EXIT TÌNH TRẠNG


Trạng thái thoát của lệnh sẽ bằng XNUMX, trừ khi vì lý do nào đó thuật toán không thành công
(ví dụ: sai nút hoặc dữ liệu phiên bản), các tùy chọn dòng lệnh không hợp lệ hoặc (trong trường hợp công việc
thực thi) một trong những công việc đã không thành công.

Khi quá trình thực thi công việc qua Luxi đã bắt đầu (-X), nếu quá trình cân bằng bị gián đoạn sớm (qua
SIGINThoặc qua --max-length) nhưng tất cả các công việc được thực thi thành công, thì trạng thái thoát là
số không; mã thoát khác XNUMX có nghĩa là trạng thái cụm cần được điều tra, vì
công việc không thành công hoặc chúng tôi không thể tính toán trạng thái của nó và điều này cũng có thể chỉ ra sự cố trên
Ganeti bên.

Sử dụng hbal trực tuyến bằng các dịch vụ onworks.net


Ad


Ad