Read-only archive. Login and posting are unavailable.

PDA

View Full Version : Các bước xây dựng một cấu hình server phù hợp


fRzzy
09-12-2011, 04:58
Mình trực tiếp quản lý server và hệ thống server của vozForums tính ra tới giờ cũng 10 năm hơn rồi (vài năm gần đây thì có sư phụ giúp đỡ), tất nhiên đây không phải công việc full time, chỉ phải đụng vào khi cần thiết, nhưng kinh nghiệm thì không phải là không có. Vì thế nên lâu lâu cũng có người hỏi han nhờ tư vấn nên lắp server thế nào cho hợp lý... tư vấn thì không được đầy đủ lắm vì kinh nghiệm của mình chỉ gói gọn trong mảng web server (sau này tách riêng ra application server và database server) nhưng nhân tiện đang ngồi monitor mớ server của vozForums vừa sắp xếp lại cộng với lang thang trên mấy forums về vấn đề này, nhặt nhạnh thêm ít kiến thức, mang ra đây chia sẻ lại.

Trước tiên, nói rõ rằng kinh nghiệm của mình chủ yếu về web server (hay hệ thống web server gồm application server và database server - sau này có thể thêm storage server hay gì gì nữa) nên mặc dù cố gắng hết mức có thể để nêu ra những điểm quan trọng khi xây dựng bất kỳ hệ thống server nào, cũng không thể tránh khỏi những điểm bất hợp lý. Nếu bạn thấy chỗ nào sai thì cứ góp ý, mình sẽ sửa cho phù hợp.

1. Hiểu nhu cầu của bạn cần gì.

Rất buồn cười là chả mấy người đã từng nhờ mình tư vấn lắp server hiểu rõ họ cần gì, đơn giản là họ cần một con server!?!?! Server có một tỉ loại (thật ra không tới) phù hợp với các nhu cầu khác nhau, bạn muốn được tư vấn lắp một con server phù hợp thì bản thân bạn phải biết bạn muốn nó phù hợp cho nhu cầu gì cái đã.

2. Hiểu hạn chế của hệ thống hiện tại.

Nếu bạn đang có một hệ thống server đang hoạt động, phục vụ cho nhu cầu của bạn và bạn thấy rằng nó không đáp ứng được thì đây là điểm cực kỳ may mắn. Bởi chuyện lắp một cái server có cấu hình dự kiến là phù hợp đến đâu đi chăng nữa thì cũng sẽ tới lúc bạn thấy nó chẳng phù hợp lắm, thiếu cái này thừa cái kia là chuyện thường.

Để biết được hệ thống hiện tại có vấn đề ở chỗ nào, bạn nên biết sử dụng các công cụ theo dõi hệ thống, chủ yếu vấn đề nằm ở hai mảng: CPU bound (thiếu năng lực xử lý) và IO bound (thiếu năng lực đáp ứng dữ liệu)

Riêng IO bound thì có disk IO (liên quan đĩa cứng), mem IO (liên quan bộ nhớ, thường là thiếu chứ ít khi do chậm) và network IO (nghẽn mạng chẳng hạn)

Khi biết được vấn đề nằm ở đâu rồi thì giải quyết cực kỳ dễ dàng.

3. Nên tách biệt các nhu cầu đơn lẻ của một server.

Chuyện sử dụng một server cho nhiều dịch vụ khác nhau là rất phổ biến, nhất là đối với website nhỏ hay công ty nhỏ, do vậy nhu cầu lắp một cái server mạnh toàn diện cũng là dễ hiểu. Nhưng không phải vì thế mà cứ mua đại, quan trọng là bạn cần biết cái gì cần thiết cho dịch vụ gì. Lấy vài ví dụ:

- Cơ sở dữ liệu: Cái này nói chung cần bộ nhớ nhiều và đĩa cứng nhanh, nếu dung lượng DB quá lớn thì nên xác định xem hot data (phần dữ liệu thường xuyên làm việc) là khoảng bao lớn để tính phương án cache cho phù hợp.

- File server: Cần đĩa cứng lớn, nên dùng HDD thường, rẻ và đáp ứng tốt tốc độ đọc ghi sequential.

- Application server: Bộ nhớ đủ (không cần thừa) và CPU nhanh.

Khi tách biệt như vậy rồi, việc tổng hợp lại nhu cầu để ra một cấu hình phù hợp sẽ dễ hơn và thậm chí còn giúp ích cho việc sắp xếp dữ liệu khi triển khai hợp lý hơn.

4. Xác định hướng mở rộng.

Cái này cực kỳ quan trọng, rất nhiều người đi lắp server cứ phải chơi mobo 2 socket nhưng gắn 1 CPU đợi từ từ cần thì nâng cấp, kết cục là cả cuộc đời của cái server đấy chả bao giờ nhìn thấy con CPU thứ hai vì khi chưa cần tới nó thì đĩa cứng hay bộ nhớ đã không đáp ứng được rồi.

Hơn nữa, với tốc độ thay đổi công nghệ nhanh như hiện tại thì server sẽ nhanh bị lỗi thời, tới khi cần nâng cấp cũng khó mua đồ thay nữa.

Do vậy, lời khuyên chung cho việc nâng cấp là nên mua CPU đủ cho 12 tháng phát triển, bộ nhớ đủ để lắp thêm gấp đôi khi cần thiết và đĩa cứng thì nên để dư ra tối thiểu một slot. Nghe hơi nông dân nhưng nếu bạn cần phải nâng cấp vượt quá khả năng lắp thêm hay thay thế của server trong thời gian ngắn hơn vòng đời của hệ thống (theo mình là khoảng 3 năm) thì một là bạn quá keo lúc đầu tư ban đầu, hai là bạn phát triển quá nhanh (đồng nghĩa với việc nhiều tiền, chi ra mua server mới đi)

5. Nên ứng dụng công nghệ mới, nhưng với một thái độ dè dặt và nên có phương án dự phòng.

Công nghệ thay đổi nhanh đồng nghĩa với việc nó có thể giải quyết rất nhanh vấn đề của bạn nhưng cũng có thể nó sẽ cho bạn đi bán muối nếu không cẩn thận chơi phải cái công nghệ củ chuối.

Thế nên cái gì cảm thấy rất phù hợp thì nên ứng dụng ngay nhưng nên có phương án dự phòng. Đừng có để trứng vào một rổ.

Tiếp theo từ từ viết, giờ đi ngủ đã.

PS: Đừng tin mấy bạn sales, hầu hết họ đều không nhiều kinh nghiệm bằng bạn đâu.

<Loading>
09-12-2011, 20:58
Bài viết hay quá, post đánh dấu lát về xem liền. :D:D

Ruoc Yeu 01
10-12-2011, 07:45
oánh dấu phát nào :D :gach:

prescolt
10-12-2011, 11:58
PS: Đừng tin mấy bạn sales, hầu hết họ đều không nhiều kinh nghiệm bằng bạn đâu.
Cái này quan trọng đây, mình từng gặp phải vấn đề là mua một em server để chạy OpenVZ, theo thông tin và mấy ban sales cung cấp thi support RAID 10 trên LINUX, đúng là vậy trừ thằng Debian ra,mà hệ thống mình chỉ chạy được với Debian thế là server này chuyển sang làm Backup server. Vì vậy nếu bạn nào xác đinh mua server để sử dụng với Linux thì cần phải xác nhận thực tế, tức là test thử trước khi mua
- Công nghệ thi giải quyết vấn đề hiện tại nhưng lại nãy sinh vấn đề mới, thay đổi công nghệ thì cũng phải năm luôn , phai nắm thật kỹ các vấn đề sẽ phát sinh với công nghệ mới, trước khi chạy public ra ngoài, nếu bạn năm không khĩ các nhược điểm và risk của nó thì khi có sự cố (người ta gọi là incident) bạn sẽ không biết làm thế nào để xử lí, hoặc mất thời gian đề xử lí nó

it.thuongnguyen
10-12-2011, 12:19
Nhân tiện các bạn nào hỏi tư vấn server cần đưa ra rõ những thông tin như sau:

1. Server chạy cái gì ?? (Mail server, APP server, WEB .....)

2. Phục vụ cho bao nhiêu User ! Ứng dụng gì (Database nó khác, APP nó khác, Webserver nó khác, etc nói chung là nếu không tính toán được thì cứ nôm na như thế này. Em cần 1 con Fileserver phục vụ cho 30 user dữ liệu là Movie. Như vậy là được !!!)

3. Hệ thống hiện tại đã có cái gì rồi ? có cần quy hoạch lại hay không.

4. Hãng server yêu thích là gì, cái này nói ra thì hơi vô duyên nhưng là thực tế, cá nhân em em thích IBM đơn giản vì nó là IBM.

5. Chi phí là bao nhiêu tiền, không có cái gì rẻ mà tốt cả ?

Túm lại. Việc tư vấn sẽ chính xác nếu thông tin các bạn cung cấp là chính xác và rõ ràng càng chi tiết càng tốt.

vitcon
10-12-2011, 23:47
Chờ được đọc tiếp, rất đúng lúc em đang cần :D

truongsi
12-12-2011, 15:45
chao anh, em là sinh viên mới ra trường, em được công ty cho quản lý server nhưng trong đầu em để làm nên 1 con server thật hoàn chỉnh thì mình cần cấu hình gì cho nó , em bây giờ vẫn chưa xác định được điều đó, mong anh hiểu và giúp đở cho em

it.thuongnguyen
12-12-2011, 16:32
chao anh, em là sinh viên mới ra trường, em được công ty cho quản lý server nhưng trong đầu em để làm nên 1 con server thật hoàn chỉnh thì mình cần cấu hình gì cho nó , em bây giờ vẫn chưa xác định được điều đó, mong anh hiểu và giúp đở cho em

Đọc hết Post 5 chưa bác ! bác hỏi thế thì sao mà trả lời được. Server chạy cái gì ??

koonami
16-12-2011, 14:49
bài viết rất bổ ích cho bạn nào có nhu cầu.
bạn có thể tư vấn giúp mình cấu hình server mục đich chứa chương trình quản lý kinh doanh của cty. database khá nặng đến gần 20gb. và bộ from 150gb. cách đây 2 năm lúc bắt đầu ứng dụng chương trình mình mua server cấu hình:
intel xeon E5405 2.0 x4
main: S5000VSA
ram: FB 4gb (2x2)
raid 5 (option axxraksw5) 3xhdd 160gb 7200prm sata2
cấu hình trên là server lắp ráp.
sau 2 năm sử dụng thì hiện nó đang có hiện tượng ko gánh nổi chương trình (client chạy chương trình rất chậm trong giờ cao điểm (cty có khoảng 25 máy sử dụng ctrinh)). theo dõi trên system monitor thì io cpu khoảng 10%. menmory ở 50% net trung bình ở 15% cao nhất 80%. riêng về sử dụng hdd là cao lắm.
giờ cty tính mua server mới lấy con cũ chạy dự phòng

fRzzy
16-12-2011, 23:14
ngay và luôn này bạn:

- mua 2 cái SSD (khuyến cáo Intel 320 80GB) - ở NTC có bán, mấy chỗ khác không thấy...
- về config cho chúng nó chạy RAID 1
- nhét DB lên đấy, nếu chạy MySQL thì cho binlog lên đấy luôn (các loại server khác mình dốt lắm, tự bạn tìm hiểu)
- 3 cái còn lại, nếu vẫn duy trì được RAID 5 thì quá tốt, để form lên đấy, nếu không duy trì được RAID 5 thì chuyển qua RAID 0 (đống form ấy hình như không thay đổi liên tục đúng không?) và một cái dư ra để backup daily cho DB lẫn form nếu cần (không cần thì để chứa pr0n)

tóm lại mình dự là cái hệ thống của bạn nó chết dở đoạn đĩa cứng, chỉ cần giải quyết vụ đó là ổn.

yahoo
17-12-2011, 10:36
bài viết rất bổ ích cho bạn nào có nhu cầu.
bạn có thể tư vấn giúp mình cấu hình server mục đich chứa chương trình quản lý kinh doanh của cty. database khá nặng đến gần 20gb. và bộ from 150gb. cách đây 2 năm lúc bắt đầu ứng dụng chương trình mình mua server cấu hình:
intel xeon E5405 2.0 x4
main: S5000VSA
ram: FB 4gb (2x2)
raid 5 (option axxraksw5) 3xhdd 160gb 7200prm sata2
cấu hình trên là server lắp ráp.
sau 2 năm sử dụng thì hiện nó đang có hiện tượng ko gánh nổi chương trình (client chạy chương trình rất chậm trong giờ cao điểm (cty có khoảng 25 máy sử dụng ctrinh)). theo dõi trên system monitor thì io cpu khoảng 10%. menmory ở 50% net trung bình ở 15% cao nhất 80%. riêng về sử dụng hdd là cao lắm.
giờ cty tính mua server mới lấy con cũ chạy dự phòng

Mình dự là cái db có vđ, tất nhiên nếu là phần cứng thì thường do HDD, 25 concurrent user thì cũng bt, tầm 100 trở lên thì mới mệt.
Bạn thử tìm hiểu mấy cái về quản lý SQL server xem, ví dụ họ khuyến cáo để log riêng ra 1 ổ vật lý khác,...
Mình có 4 HDDs cũng đang băng khoăn ko biết nên chơi raid 10 hay là 2 * raid 1 ( ổ 2.5" có 10K rpm thôi, ko rõ ổ 2.5" so với ổ 3.5" tốc độ truy xuất dl có khác nhau ko khi mà cùng tốc độ vòng quay)

khoctham
17-12-2011, 21:43
^
nếu có 4 ổ thì chạy raid 10 với 2 * raid 1 khác nào như nào vậy bác ?

hensynki
18-12-2011, 00:52
^
nếu có 4 ổ thì chạy raid 10 với 2 * raid 1 khác nào như nào vậy bác ?

raid 10: linh động hơn trong cấp phát tài nguyên.
2xraid 1: nhanh hơn chút nếu cân đối được IO trên từng bộ raid.

tùy mục đích cụ thể mà chọn loại nào. Thông thường chọn dùng raid10.

yahoo
18-12-2011, 08:18
^
nếu có 4 ổ thì chạy raid 10 với 2 * raid 1 khác nào như nào vậy bác ?

Trong SQL serer guide ( của MS hay petri gì đó) họ có nhắc tới việc nên để log và db ở các ổ vật lý khác nhau vì khi thực hiện 1 lệnh thì sẽ phải thực hiện trên log trc sau đó thực hiện trên db sau, đại loại nếu 1 đầu đọc ổ cứng thực hiện 2 thao tác liên tục và nhiều như vậy sẽ gây stress ( chậm do phải tìm và di chuyển tới file log và db).

Ví dụ: bạn cần lắp 1 bộ máy tính gồm 20 thao tác ( lắp ốc, lắp cpu vào main,....) với mỗi thao tác bạn phải ghi vào 1 quyển sổ trc khi thực hiện.
Bộ máy tính bạn để tầng 3, quyển số bạn để tầng 1 --&gt; chạy đi chạy lại đg nhiên mệt và tốn time.

Còn nếu bạn dùng 2 array raid 1 thì tương đg với việc có 2 ng: 1 ng ở tầng 1 chỉ ghi vào sổ, xong thì hô " xong", người ở tầng 2 chỉ việc thực hiện thao tác lắp máy.

Nhưng khó cái là raid 1 chỉ là mirroring, tốc độ ko bằng raid 10........... haiz....
Chả hiểu cái nào tối ưu hơn :surrender:

sususis
03-03-2012, 16:08
Công nghệ thay đổi nhanh đồng nghĩa với việc nó có thể giải quyết rất nhanh vấn đề của bạn nhưng cũng có thể nó sẽ cho bạn đi bán muối nếu không cẩn thận chơi phải cái công nghệ củ chuối.

Thế nên cái gì cảm thấy rất phù hợp thì nên ứng dụng ngay nhưng nên có phương án dự phòng. Đừng có để trứng vào một rổ.

Tiếp theo từ từ viết, giờ đi ngủ đã.

ngocnghechvt
26-05-2012, 13:02
Lên top, rất cần những người kinh nghiệm chia sẻ cho đàn em thân yêu.
Nhờ anh giúp em topic
http://vozforums.com/showthread.php?p=47411322#post47411322

camapvuive
12-03-2013, 10:35
xin chào admin Voz !
I.mình hiện tại hệ thống cơ quan có 5 máy chủ
1 con chay AD
2, chạy chương trình quét virus tập trung
3. chạy ứng dung riêng của ngành
4 chạy quản lý Văn bản và điều hành tác nghiệp
5.dự kiến chạy ảo để backup cho các con còn lại.
hiện tại đang chạy 4 HDD 146 muốn nâng cấp lên 4 x HDD 600Gb RAID 5 giò muốn làm cho hệ thống chuyển từ ổ củ sang ổ mới có đc không?
và làm cách nào cho nó chạy bình thường, không phải làm mới lại từ đầu vì trong hdd củ có cả ảo hóa đang Backup cho các máy Server.
II.Mình muốn quy hoạch lại cho hệ thống các ứng dụng chạy Song song? vậy phải làm thế nào!
đang dung win server 2008, cấu hình máy tương đối mạnh.

it.thuongnguyen
12-03-2013, 12:28
xin chào admin Voz !
I.mình hiện tại hệ thống cơ quan có 5 máy chủ
1 con chay AD
2, chạy chương trình quét virus tập trung
3. chạy ứng dung riêng của ngành
4 chạy quản lý Văn bản và điều hành tác nghiệp
5.dự kiến chạy ảo để backup cho các con còn lại.
hiện tại đang chạy 4 HDD 146 muốn nâng cấp lên 4 x HDD 600Gb RAID 5 giò muốn làm cho hệ thống chuyển từ ổ củ sang ổ mới có đc không?
và làm cách nào cho nó chạy bình thường, không phải làm mới lại từ đầu vì trong hdd củ có cả ảo hóa đang Backup cho các máy Server.
II.Mình muốn quy hoạch lại cho hệ thống các ứng dụng chạy Song song? vậy phải làm thế nào!
đang dung win server 2008, cấu hình máy tương đối mạnh.

Ý kiến của mình, nếu có thể chuyển hết qua ảo hóa dùng VMWARE hay Microsoft cũng được.

1. Kiếm 1 con server chạy dự phòng cài VMWARE hay Hyper-V lên clone tất cả các máy thật đang chạylên máy ảo.

2. Nâng cấp HDD như yêu cầu

3. Move các máy ảo từ con server qua con vừa nâng cấp.

4. Cài đặt HA cho các server, ở đây mình thấy có DC, các ứng dụng mình chưa biết nó là gì chạy trên Web hay là APP bình thường.

5. Gom mấy con 2,3,4 vào 1 con cho nó rùi, lượng data của các chương trình này không lớn, chủ yếu nó phụ thuộc vào cái database. Vậy nên tách riêng ra 1 con làm Database.

6. Việc ảo hóa server không khó nhưng nó đòi hỏi chút kinh nghiệm. Về hiệu năng thì có thể so sánh 9 - 10 với dùng server thật. Nhưng backup hay vận hành nó rất hiệu quả và đỡ công sức rất nhiều.

camapvuive
13-03-2013, 10:43
Ý kiến của mình, nếu có thể chuyển hết qua ảo hóa dùng VMWARE hay Microsoft cũng được.

1. Kiếm 1 con server chạy dự phòng cài VMWARE hay Hyper-V lên clone tất cả các máy thật đang chạylên máy ảo.

2. Nâng cấp HDD như yêu cầu

3. Move các máy ảo từ con server qua con vừa nâng cấp.

4. Cài đặt HA cho các server, ở đây mình thấy có DC, các ứng dụng mình chưa biết nó là gì chạy trên Web hay là APP bình thường.

5. Gom mấy con 2,3,4 vào 1 con cho nó rùi, lượng data của các chương trình này không lớn, chủ yếu nó phụ thuộc vào cái database. Vậy nên tách riêng ra 1 con làm Database.

6. Việc ảo hóa server không khó nhưng nó đòi hỏi chút kinh nghiệm. Về hiệu năng thì có thể so sánh 9 - 10 với dùng server thật. Nhưng backup hay vận hành nó rất hiệu quả và đỡ công sức rất nhiều.

Hiện tại có 1 con đang chạy ảo, yêu cầu nâng cấp HDD của con này lên thành 4 x 600GB
nhưng có một chút trục trặc là có một con đang chạy ứng dụng với SQL, mình muốn tạo một chức năng sao cho backup dduojc CSDL cua con SQL đang chạy!

it.thuongnguyen
13-03-2013, 13:05
Hiện tại có 1 con đang chạy ảo, yêu cầu nâng cấp HDD của con này lên thành 4 x 600GB
nhưng có một chút trục trặc là có một con đang chạy ứng dụng với SQL, mình muốn tạo một chức năng sao cho backup dduojc CSDL cua con SQL đang chạy!

Có gì khó đâu, Backup lại thôi cài xong restore.Còn lười thì clone nó lên máy ảo là nhanh nhất.

Cài 1 cái máy ảo nữa move nó qua xong cho nó chạy là OK mà