[Discussion] Automatic Deploy software for client |
12/08/2011 09:48:32 (+0700) | #1 | 244945 |
|
Ikut3
Elite Member
|
0 |
|
|
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
|
|
Hi mọi người
Mình gặp phải 1 vấn đề "đơn giản" mà lại "phức tạp" trong việc quản lí các software, deploy chúng trên hệ thống khoảng 500 client.
Xin được miêu tả sơ qua như sau
Client : OS open Suse 11.4
Network : Ipv4
Software : các software chuyên dụng viết bằng JAVA
Hiện tại bên mình khi muốn deploy 1 sản phẩm mới cho các client làm việc, thường thực hiện bằng việc add phần mềm đó vào các file img (OS) bằng clonezilla. Từ đó multicast toàn mạng cho các client. Tuy nhiên tại thời điểm hiện tại, mình không muốn làm việc này nữa.
Mình muốn khi có 1 phần mềm mới, mình bỏ nó trên 1 DAS / NAS chẳng hạn, client nào start lên bắt buộc phải cài phần mềm đó vào. Qua tham khảo, mình muốn làm sử local repository, hoặc Web portal, chuyên dụng hơn có autoyast .
Mời mọi người cho ý kiến hoặc châm kíck để mình được thông hơn
Cám ơn |
|
|
|
|
[Discussion] Automatic Deploy software for client |
12/08/2011 16:01:35 (+0700) | #2 | 244970 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
Thử OCS Inventory xem.
Đấy là máy đang chạy ta deploy thêm.
Có cách khác:
Mình ko dùng OpenSuSE, nhưng dùng CentOS. Cách mình "ghost" hàng loạt máy mới là cài theo kịch bản kickstart. OK 500 máy đã xong rồi, chạy rồi.
Máy đang chạy ko muốn cài lại mà lại muốn "thêm package", thì mẹo của mình khi dùng 1 local yum repo chứa tất cả các package cần thiết (A,B,C). Các client khi ghost có 1 local yum repo + thiết lập tự yum update cho client hàng ngày.
Và 1 cái package quan trọng, đặc biệt gọi là "buss-suite" chả chứa gì nhưng require nhiều package kahcs. buss-suite sẽ Requires các package A,B,C cần cho user. Cài buss-suite sẽ kéo theo cài thêm A, B, C luôn.
Giờ tự nhiên muốn thêm D. Thì cách làm là build D, và build lại buss-suite với nâng thêm số phiên bản, có require thêm D. Rồi đưa rpm lên local yum repo.
Khi các client update, nó thấy có buss-suite mới thì tải về và cài, nhưng để cài cần thêm D => nó tự tải thêm D về cài thêm. => có thể thêm bất cứ package nào bằng cách sửa buss-suite.
Nếu khéo làm spec của RPM, cũng có thể remove luôn cả package (ví dụ A) khi tự update.
Đấy là họ nhà yum, họ nhà apt mình nghĩ cũng áp dụng cách đó được. |
|
|
|
|
[Discussion] Automatic Deploy software for client |
13/08/2011 13:50:03 (+0700) | #3 | 245002 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Có lẽ em nên ngâm cứu một công cụ configuration management nào đó: Puppet, Chef, CFEngine, ...
|
|
Let's build on a great foundation! |
|
|
|
[Discussion] Automatic Deploy software for client |
15/08/2011 18:51:18 (+0700) | #4 | 245066 |
|
Ikut3
Elite Member
|
0 |
|
|
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
|
|
Thanks anh QuanTa & a myquartz
Hiện tại em phát triển 1 core linux riêng cho hệ thống, mỗi tuần em đều ra 1 bản Relase để cập nhật vả sửa chữa lỗi các application . Thời điểm hiện tại, em tính hợp clonezilla + DHCP vào mạng nội bộ. Cứ cuối tuần sẽ Deployed
+ Repository local cũng là 1 chọn lựa, tuy nhiên cái này sẽ tốt hơn nếu có 1 công cụ tương tự Radmin (như trên Windows) nhưng cho Linux, để 1 thao tác sẽ ảnh hưởng đến hàng trăm client.
Em vẫn chưa có giải pháp nào cho việc này. Thực ra nếu linh động, vẫn có thể viết 1 script + excute bằng Cron vào hàng tuần cho user. Mọi người thấy giải pháp này được không
+ Còn Pupppet, Chefm CFEngine v.v.. thì coi bộ phải tốn kha khá $ để có thể sử dụng mỹ mãn chúng trong môi trường phức tạp như bên em đấy ạ
Thank again |
|
|
|
|
[Discussion] Automatic Deploy software for client |
15/08/2011 20:12:39 (+0700) | #5 | 245071 |
vd_
Member
|
0 |
|
|
Joined: 06/03/2010 03:05:09
Messages: 124
Offline
|
|
+1 cho puppet. Không tốn $ như bạn nghĩ đâu. Bạn chỉ tốn công lúc đầu định ra các loại client, và mỗi loại client sẽ cần những package và file config gì. Sau đó là puppet-master sẽ tự động deploy ra hàng loạt các máy có puppetd mà bạn đã list sẵn.
|
|
|
|