Xác định máy ảo OpenVZ từ bên trong


6

Có cách nào để tôi xác định được container OpenVZ nào tôi đang ở, từ bên trong container không? Tôi đang làm việc trên một thiết lập trong đó các máy OpenVZ sẽ khởi động cùng một hình ảnh đĩa (chỉ đọc), vì vậy tôi không thể định cấu hình chúng riêng lẻ trong hệ thống tệp. Tôi cần một nhận dạng duy nhất cho mỗi máy chủ ảo, được sử dụng bởi các tập lệnh chạy bên trong các thùng chứa OpenVZ.

(Tôi đang chạy Debian Lenny, BTW.)

Câu trả lời:


8

Mỗi vùng chứa trong máy chủ OpenVZ có ID Container duy nhất, còn được gọi là VEID của nó. Từ trong một container, bạn sẽ có thể đọc VEID của nó như thế này:

awk '{print $1}' /proc/vz/veinfo

ID này phải là hằng số cho một vùng chứa nhất định, vì nó được liên kết với .conftệp của trình chứa cấu hình nó cho OpenVZ.


1

Ý tưởng đầu tiên của tôi là bạn có thể sử dụng địa chỉ IP hoặc MAC của từng VM để phân biệt chúng và chuyển giá trị đó cho các tập lệnh của bạn.


Cảm ơn bạn đã trả lời! HWaddr luôn trông giống cái này trong các thùng chứa OpenVZ: "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00". Mã định danh duy nhất sẽ được sử dụng để định cấu hình mạng (và các công cụ init.d khác trước khi kết nối mạng được định cấu hình), vì vậy trong trường hợp của tôi, địa chỉ IP cũng sẽ không hoạt động. :(
Alfred Godoy

Một suy nghĩ khác, Ổ cứng được cho là có trường uuid khác nhau cho mỗi VM, nhưng trong mọi trường hợp, bạn có thể lấy IP trước và sau đó sử dụng nó để cá nhân hóa từng container sau.
jhcaated
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.