banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: myquartz  XML
Profile for myquartz Messages posted by myquartz [ number of posts not being displayed on this page: 1 ]
 
Trên WinXP, mở cmd, gõ thử 1 số lệnh sau rồi post kết quả lên coi:
ipconfig /all
nslookup <tên của máy chủ 2003 đầy đủ, ví dụ dc.ht286.vn>
telnet <tên của máy chủ 2003 đầy đủ, ví dụ dc.ht286.vn> 389

nếu chết ở cái thứ 2, thì DNS bạn config chưa đúng, có thể sai ở trên server chứ ko phải client (phải đảm bảo khi cài Win 2003 và promote lên Domain ko có lỗi gì, máy 2003 khởi động lại và đăng nhập domain ngon lành).

newbieProIT wrote:
Em cũng bon chen một tí.
Em thấy ai cũng nói về kiến trúc Unix là tối ưu. Nhưng cụ thể kiến trúc nó là như thế nào và thực sự khái niệm kiến trúc là gì?
Em có nghe nói là có môn kiến trúc máy tính, bản thân em cũng dùng từ kiến trúc máy tính nhiều nhưng cụ thệ nó là gì thì vẫn chưa nắm. Không biết ở đây có ai như em không. 


Đơn giản lắm, kiến trúc là cái hình vẽ (có thể hình rất to), trong đó thường vẽ các cục to nhỏ, có tên khác nhau, và các đường nối giữa chúng, bố trí theo 1 trật tự nào đó cho dễ nhìn. Ngoài ra các cục có tên còn được mô tả để làm gì, chức năng ra sao. Các liên kết là gì, tiêu chuẩn nào...

Cái này là 1 cái rất tổng thể của bất cứ cái gì, máy móc hay con người. smilie. Nó quan trọng vì nó quyết định hoạt động của 1 hệ thống nào đó.

Xem cái này là họ WinNT: http://en.wikipedia.org/wiki/File:Windows_2000_architecture.svg

Còn cái này là kiến trúc của Linux (hình này vẽ cho mục đích khác nhưng ko kiếm được cái nào hay hơn): http://en.wikipedia.org/wiki/File:Linux_kernel_map.png
20 triệu ko là gì với các hệ CSDL mạnh, ví dụ Oracle, MS SQL hoặc MySQL/Postgres. Đối với thao tác tìm kiếm/cập nhật bản ghi đơn lẻ (có primary/unique index) sẽ nhanh chóng. Nhưng sẽ tệ hại nếu dùng lệnh mang tính tác động tới 1 range.
Tôi từng làm việc với bảng có tới 400 triệu row kia, lơ mơ gõ nhầm lệnh tạo lại index hoặc nếu phải xoá đi 10 triệu trong 400 đó, thì chịu khó chờ vài tiếng đồng hồ dù máy tính rất mạnh (32 CPU cơ smilie)).
Do đó, nếu làm với bảng to vậy, nên cẩn thận với index và kiểm tra kỹ từng câu lệnh SQL của mình, sẽ không sao cả.

protectHat wrote:

-->sặc, bạn lấy đâu ra dòng này vậy, thử xem ở http://en.wikipedia.org/wiki/Unix coi
--> Bạn học ở trường nào ra vậy?
-->Tất cả các bản UNIX đều có bảo vệ bản quyền rõ ràng, không ai lấy của ai hết, khi ai đó (M$ chẳng hạn) dùng 1 function lấy của FreeBSD thôi cũng phải ghi chú rõ ràng, và hỗ trợ giao tiếp lập trình đâu phải là có lý thuyết chun 


- Tớ lộn, nó khai sinh từ phòng thí nghiệm Bell Labs. Tuy Berkerly có nhiều đóng góp rất sớm nhưng ko phải khai sinh ra nó. Nhưng đó là điểm mà các trường ĐH rất gần gũi với HĐH này.
- Một trường ko tệ ở VN: ĐH BK HN, chính quy chuyên ngành CNTT. Trong trường này, được coi là dạy nặng lý thuyết chuyên ngành, môn hệ điều hành chỉ lướt qua các khái niệm Time Sharing System và 1 ít về Disk Operating System, hoàn toàn ko có thực hành, hoàn toàn ko có các khái niệm sâu hơn thế nào là microkernel hay monolithic kernel, thế nào là Context switch, Cooperative multitasking, Preemptive multitasking... Khi tớ ra trường rồi thì các thế hệ sau được học thêm về môn Linux, nhưng chỉ là cài đặt, vài lệnh shell, một ít lập trình wúng dụng, ko học Linux Inside. Các trường khác thì ít trường nào khác dạy kỹ hơn thế, chỉ dạy toàn môn học bề nổi của OS. Nếu cậu tìm thấy trường nào dạy kỹ môn này, để sinh viên có thể viết được 1 cái gọi là OS hoặc gần như thế, kêu tớ, tớ cho con tớ đến học.
- UNIX có bản quyền, cái này ai cũng rõ, source code được bảo vệ bản quyền nhưng lý thuyết (know-how) của nó không bị độc quyền, nhiều người có thể học, để triển khai làm riêng của mình. Đó mới là điều quan trọng. Do đó mới ra được Linux, 1 hệ thống Unix-like. Lý thuyết về Windows hoạt động thế nào thì khác, được bảo vệ độc quyền.
Cái mà Win và Unix share nhau, là Posix đó, nó cũng ko phải module hay function gì cả, nó gọi là Portable Operating System Interface for Unix, chỉ là định nghĩa để mà lập trình được sao cho cách viết phần mềm giống nhau trên các hệ thống khác nhau, tuy thực tế mỗi thằng triển khai bên dưới khác nhau. Xem nè: http://en.wikipedia.org/wiki/Posix
Một số game hay của Win mang qua Wine trên Linux chơi tốt đấy.
Ví dụ: StarCraft, War3, Diablo 2, AoE 2 (chơi ko có mạng),...
Các game ko chơi được: hầu hết các game 3D,...
Một số game online mà 2D cũng chơi được (như là Võ Lâm), nhưng ko hack gì được.
Có thể lý do lớn nhất mà Unix trở thành nền tảng, là do nó được khai sinh từ 1 trường Đại học (Berkerly).
Trước Unix có 1 số hệ điều hành, nhưng Unix là HĐH đầu tiên viết bằng ngôn ngữ bậc cao là C (C ra đời để viết ra Unix), nó rất linh hoạt vì ko phụ thuộc kiến trúc của máy.
Unix thừa hưởng các nghiên cứu về OS trong trường ĐH và ngược lại, nó cũng là công cụ để giảng dạy, thực tập cho sinh viên. (Khác với VN, các trường ĐH ko dạy cái gốc, chỉ dạy sử dụng Windows là chính). Linux cũng do Torvard viết khi đang là sinh viên và khi được học về Minix (Minix do 1 ông giáo sư viết để dạy cho sv biết OS nó chạy như thế nào).
Vì tính lý thuyết của Unix, đó lý thuyết về OS, mà các nghiên cứu thường là công trình rất có giá trị và tối ưu về 1 khía cạnh nào đó. Nên các phát triển tiếp theo nếu dựa trên lý thuyết OS đều ... dùng những thứ đã áp dụng cho Unix vì đã quá tốt rồi. Thằng sinh viên nào học mà chả học lý thuyết đó, sau làm tác giả của OS mới thì dùng kiến thức đó cho xong.

Unix là cả 1 họ, từ rất to (mainframe) đến bé tí tẹo (các hệ thống nhúng). Do các công ty khác nhau như Sun, IBM, HP, SCO, các trường đại học... Họ có thêm các nghiên cứu riêng để đắp vào Unix của họ cho nó ngon hơn, nhưng về lý thuyết căn bản OS, vẫn là 1 lý thuyến chung Unix. Ngay như MacOS 10 trở về sau, đó cũng là 1 phiên bản Unix (Apple từ bỏ OS cũ nhiều hạn chế của họ), đắp thêm cái giao diện Aqua, tính thân thiện thì khỏi chê Mac OS rồi.
Xem cái cây phả hệ của Unix: http://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg

Trên thế giới còn 1 số thằng OS nữa: ví dụ VMS của Digital, DOS của Microsoft (sau tiến hoá dần lên đến Win 98/ME), họ WinNT cũng của Ms.. Tất cả các hệ thống này đều độc quyền, công nghệ nó sử dụng đều của riêng hãng, ko phổ biến ra ngoài. Có muốn dựa vào để phát triển mới cũng ko được. Dù sao nó cũng có 1 số cái ... lý thuyết chung với Unix, ví dụ giao tiếp lập trình Posix chẳng hạn, cả Unix và Win đều có hỗ trợ.

_XI wrote:
à, là bởi vì bạn không chịu lên trang fedoraproject xem, và tất nhiên cũng không chịu down bản fedora-livecd 700MB, đơn giản mà. 


Một số member ở các tỉnh xa hoặc điều kiện không có Internet down thoải mái, nên xài Internet tiết kiệm lắm.
700MB mà down tính theo dụng lượng, 700*40 = 28000VND => xót ruột phải đi mua. Mua thì chỉ có loại cài đặt 4 CD thôi.
Trả lời:
- Hiện tượng Line Out là Rear Speaker Out (cặp loa phía sau) không nghe được do âm thanh phát không đủ kênh cho sound card. Thông thường nhạc chỉ có 2 kênh (Stereo - 2 loa trái phải), từ nguồn CD, file loại MP3 chỉ có 2 kênh, một số loại file khác WMA hay Ogg thì có thể hỗ trợ lên đến 6 kênh (5.1), nhưng ít có nguồn nhạc này nên chỉ có được 2 kênh là chính. 2 kênh phát cho sound 4 kênh ắt là thiếu 2 rồi. Trường hợp nghe ở máy thì vẫn nghe được do chương trình phát nhạc (WinAmp chẳng hạn) tự động xác định số kênh phát và double/copy lên. Ví dụ nhạc có 2 kênh nhưng 2 kênh rear được copy từ 2 kênh front nên nghe được. Còn nghe trên net không được (nghe bằng flash?) thì do flash không hỗ trợ phát nhiều hơn 2 kênh hoặc cố tình không copy 2 sang 4 nên ko nghe thấy.
- Không có soft nào cả, đây là tính năng phần cứng. Nếu muốn nhân kênh thì mua jack nhân. Nhưng 4 kênh âm thanh độc lập là ngon hơn việc nhân lên từ 2 kênh.

Âm thanh 4 hoặc 6 kênh (5.1), tức là 4 loa ở 4 góc phòng, hoặc 6 loa thì 4 loa 4 góc, 1 loa giữa phía trước, 1 loa siêu trầm, thường được sử dụng khi phát phim DVD hoặc nhất là film HD (99% film HD tôi xem đều có đến 6 kênh âm thanh), hoặc 1 số buổi trình diễn âm nhạc HD. 4 loa góc dùng 4 kênh âm thanh riêng biệt (ko phải copy 2 sang 2) sẽ tạo cảm giác vị trí âm thanh trong không gian: ví dụ xem phim có máy bay bay tới mình và vọt qua màn ảnh (qua đầu khán giả) thì tiếng máy bay nghe được cũng từ xa bay tới mình rồi qua đầu. Có âm thanh loại này thì ... cảm giác xem phim sẽ phê hơn, y như trong rạp xịn.
1 ứng dụng nữa: âm thanh 4 kênh rất phù hợp cho chơi game 3D, có hiệu ứng âm thanh, nhất là các game bắn súng. Ví dụ Half-Life, CrossFire... Người chơi sẽ nghe thấy tiếng súng hoặc tiếng bước chân của đối phương ko chỉ là bên trái, bên phải mà là biết được ở phía sau, phía trước nữa, rất thuận tiện để đề phòng tiêu diệt (ví dụ có thằng đánh úp phía sau nghe tiếng biết liền).
File bạn down về có tên là gì? có phải chứa tên live-cd?
Live-CD ko cần cài máy ảo, bạn có thể boot thẳng CD đó từ máy chính cho nhanh, nó chạy trực tiếp từ CD.

mR.Bi wrote:

ngoài lề theo cái ngoài lề của bạn một chút.
trước tiên bạn không nên nói một cách chắc chắn như thế, dù biết bạn có kinh nghiệm đến đâu. nếu nói đến ISA Server, thì Network Layer Firewall chỉ là một tính năng trong số các tính năng của nó. sử dụng hay không? đó chỉ là câu hỏi cho vấn đề cần cái gì? nếu chỉ cần một firewall, bạn không chọn ISA, bởi vì ISA Server là một "suite" những tính năng bao gồm:

. Network layer firewall
. Caching proxy
. VPN server
. Site to site VPN gateway

trong đó tính năng caching proxy làm cho nó có chữ A (Acceleration). Trong khi nếu muốn có tính năng này thì đối với các giải pháp bên trên bạn phải sử dụng thêm một Application nào đó có khả năng tương tự, Squid chẳng hạn.
Mình đã nghe nhiều lời chê ISA server từ nhiều người, hầu hết vì mọi người thường thích mỗi Application chỉ đảm nhiệm một chức năng cụ thể chứ không bao gồm những tính năng râu ria khác. nhưng xin thưa rằng nếu một công ty muốn có tất cả những dịch vụ trên thì thay vì order một mớ những phần mềm khác thì chỉ cần mua ISA server + một server đủ mạnh là đủ.

hay bạn bảo ISA server tốn quá nhiều resource? thì mình sẽ lật lại rằng muốn làm một firewall + 1 reverse / caching proxy + vpn server thì tổng cộng bạn phải tốn 3 server cả thảy.

tự nhiên đang rảnh nên ngoài lề tí cho vui, anh msdn thông cảm smilie  


Mấy cái giải pháp ở trên: Astaro, Clark Connect, IPCop, Endian... đều là 1 suite cả (network thì là iptables, caching proxy là squid, VPN thì IPSec hoặc OpenVPN). Nó có đủ 4 thứ mà ISA có. Hơn thế nữa, ở mỗi tính năng thì đều có khả năng tương đương hoặc hơn.
Ví dụ: ISA phần Web Proxy (cả reverse lẫn forward) đều ít các tính năng và cả option để thay đổi được, so với squid. Bù lại nó đơn giản, click vài cái là có thể chạy. ISA Web Proxy không có tính năng mỗi người được xác thực được dùng trên 1 IP, hoặc như "hạn chế" tốc độ download của mỗi client (delay_pool)... được như squid.
Hoặc 1 tính năng mà hệ thống Windows/ISA chưa bao giờ có: policy routing. Tất nhiên dùng ISA cũng quên đi việc có multi-uplink, cân bằng tải nhiều đường Internet, và cũng không dễ để làm ra fail-over uplink.

ISA là 1 cái dễ dùng, chỉ next and next, tích hợp tốt với hệ thống khác của Microsoft. Ngoài ra chả có gì hơn cả, kể cả tốc độ và độ ổn định.

P/S: có 1 thứ mà Windows có, nhưng các firewall OpenSource ít có (chỉ có Astaro v7 là có): đó là dynamic routing dựa trên RIP và OSPF. Cái này do RRAS trên Win cung cấp chứ cũng chả phải là ISA.

msdn wrote:


Mình không sử dụng Astaro , do hệ thống mạng của 1 người bạn ở SG có sử dụng nó nhưng nó bị hạn chế khá nhiều, cho nên người bạn nhờ mình chuyển nó sang 1 giải pháp khác.
Các giải pháp mà bạn đề cập mình đã thực hiện qua ở 1 số công ty, cửa hàng game trong tỉnh của mình .

Anh em còn giải pháp nào nữa không, xin cho ý kiến tiếp tục. smilie

Cám ơn và mong tin 


Astaro, nhất là phiên bản v7, về mặt Firewall nó ít có hạn chế, trừ 2 thứ: bị tính tiền (ko rẻ lắm) và đòi máy cấu hình mạnh. Các hạn chế bạn nêu là cái gì thế?
Hi vọng cái người bạn nhờ đó ko phải là nhân viên thuộc CN công ty/tổ chức mình đang làm. Astaro sử dụng tại các CN này là do áp đặt từ IT Trụ sở chính, là 1 chính sách. Đánh giá thay nó bằng cái gì thì IT Trụ sở chính sẽ phải chịu trách nhiệm.
Còn FW dựa trên nền open source tương tự Astaro còn có Secure Point, Monowall... (xem http://distrowatch.com/dwres.php?resource=firewalls ). Như về tính năng và mạnh thì Astaro gần như là đầu bảng. Mình chưa gặp cái nào, có lẽ trừ 1 cái commercial (ko có để down) là FireBox, có những tính năng mạnh thế. Endian là cái mới đào được, kém Astaro về tính năng, nhưng lại miễn phí.

Ngoài lề 1 chút: các IT và hacker non trẻ thích sử dụng nhất là Microsoft ISA, nhưng những admin đù trình độ dùng các firewall linux vài lần rồi, sẽ ko bao giờ dùng ISA trở lại nữa. Tại sao thì cứ thử đi sẽ biết.
Hehe, đồng chí msdn chắc dùng Astaro License for Home (free), giống mình. Hiện tại Astaro nó thôi cấp license này, và phiên bản Astaro v7 nó thắt chặt chỉ có 10 IP sử dụng được.
Nếu cần 1 gateway truy cập Internet, cho 1 phòng game/net, hoặc công ty (cỡ < 100PC), như là Clark Connect, thì có thể dùng thêm 1 trong mấy cái sau:
- Endian FW (bản community): http://endian.it, tớ đang triển khai dùng. Cái này có một số tính năng rất có ích cho công ty là outbound filter (thực thi chính sách lọc), nhiều uplink (có thể failover và chia sẻ tải), chống virus cho Web với HAVP/ClamAv và Squid (giảm nguy cơ mã độc trên web), HAVP kiểu mới, chạy rất lẹ, gần như không cảm thấy khác với duyệt web bình thường... Máy nên chọn cấu hình PC dual-core, 512-1GB RAM vì diệt virus nó khá tốn CPU/RAM.
- IPCop: đã từng sử dụng, tính năng cơ bản, ko có outbound filter và diệt virus, ko có nhiều uplink, có web proxy tăng tốc, nhanh, yêu cầu máy cấu hình ... cực thấp (64M RAM là chạy được). Thích hợp với phòng net nhỏ và có 1 đường ADSL do tốt hơn bất kỳ cái router tích hợp modem ADSL nào.
- SmoothWall: tương tự IPCop.
- Clark Connect: có nhiều tính năng tương tự như Endian FW, còn thêm như các tính năng của 1 server, nhưng 1 số cái quan trọng thì lại ko có: diệt virus với web proxy, multi-WAN chỉ có với bản no-free. Cái này có lẽ thích hợp với công ty nhỏ, cần 1 cái box mà nhiều thứ trong đó (firewall chia sẻ Internet, mail/web/ftp server, file/print server...).
Chớ có lẫn lộn mô hình của SSL với lại SSH nhé, 2 cái khác nhau đấy.
Cơ cấu xác thực client public-key của SSH đơn giản hơn nhiều cơ chế xác thực qua client certificate của SSL, dù nguyên tắc có gần giống như nhau. Với SSH-2 mới có cơ chế này, nó chính là Diffie-Hellman: http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange
Nên xem thêm SSH ở: http://en.wikipedia.org/wiki/Secure_Shell (các tài liệu đính kèm nó).
Ngoài khả năng modem không cho ping vào nó, và giới hạn IP truy cập web admin.
Có một khả năng nữa là mạng có máy dính virus giả gateway. Nếu dính con này thì có thể không ping được gateway nữa (do ping vào cái gateway rởm, bị drop đi), cũng ko còn vào được web admin của gateway rởm vì làm gì có trên đó. Nhưng kết nối ra ngoài thì virus giả gateway vẫn xử lý được và vì thế vẫn ra ngoài ok.
Ngoài lề tí: sao lại cài telnet server làm gì thế? sshd có sẵn sao không dùng? Vừa mạnh hơn, bảo mật hơn và nhiều tiện ích hơn.

azteam wrote:
@mrro: Đúng là PAGE_SIZE của server này 4 KB.

@ safari & anh conmale: Giải pháp đưa ra có thể giải quyết được vấn đề hiện tại của server nhưng nó không khả thi lắm với em vì trên server này chạy hơn 100 websites. Việc setup lại OS sẽ làm thời gian downtime khá lớn.

Giải pháp hiện tại chắc phải chuyển bớt websites đi chỗ khác. Theo dõi thêm tình trạnh server và tìm hiểu thêm cách khắc phục mới.

Thanks mọi người. 


Bạn thử thêm giải pháp giảm kích thước swap partition xuống 2GB nữa đi. Việc này có thể thực hiện online, không phải down server. (tắt swap bằng swapoff -a, dùng parted hay fdisk hoặc lvm giảm swap partion xuống hay xoá đi tạo lại nó, sửa file /etc/fstab cho đúng part mới, bật trở lại bằng swapon -a).
Việc hosting web với CentOS 5.2 - kernel 32bit-PAE, web server 8GB RAM tôi quá quen thuộc rồi. Lũ server của tôi chưa gặp vấn đề nào cả với cái kswapd, nhưng setup của tôi khác của bạn cái kích thước swap partition.
Hi vọng giúp được bạn.
Hi StarGhost!

Suy đoán của mình lúc trước ko phải là chính xác lắm (thời gian đợi của TCP khá lớn, và nó giảm cái gọi là window gửi của nó nếu bị trễ/mất gói).

Khả năng TCP sai thứ tự gói, quá bandwidth làm cho đầu router nhận đầy buffer, nó drop packet đến sau (nhưng theo thứ tự TCP thì lại ở đầu) và khiến TCP phải truyền lại, là có thể, và đó là khả năng cao nhất khiến hệ thống mạng trở nên chậm chạp (theo như suy đoán của tôi).

Bạn đã bổ sung thêm yếu tố là dữ liệu tống vào đường cũ sẽ đến đầu kia theo đường cũ, đường mới đi đường mới. Hình vẽ nó sẽ rút thành như sau:

Code:
1/4 gửi -> 1/4 đến
+--------cũ--------------cũ--------+
VN subnet-- [router] [router]-- NY subnet
+--------mới-------------mới------+
3/4 gửi -> 3/4 đến ->


Hình vẽ này cho thấy sẽ không có khả năng bên nhận bị đầy buffer, vì gửi có nhiều hơn khả năng nhận được đâu. Với giả thiết thêm là đường truyền tốt, tỉ lệ 2 đường truyền phân chia đúng như bandwidth. Trừ RTT 2 bên khác nhau ra. MTU ngon lành, router tốt.

Vậy thì câu trả lời mới của mình là: kiểu nối mạng này hoàn toàn chạy tốt, ở tốc độ tốt hơn khi chưa nâng cấp. Bởi bài toán thực tế mình đã từng thực hiện nó kiểu như thế này (trừ việc 2 kênh này 1 là leased line và 1 cái khác là MegaWAN - của VTN, ko phải Internet như ví dụ), cũng per-packet load balancing, sai khác nhau bandwidth, gấp 2 lần, và cả RTT cũng có sự chênh nhau, tuy không quá lớn. Mô hình chạy tốt, tuy không phải hoàn hảo (tốc độ kết nối không ổn định lắm, tăng giảm, nhưng luôn có min = kênh chậm hơn, tổng lại vẫn nhanh hơn). Dù sau đó mình chuyển sử dụng per-destination còn tốt hơn, khai thác hết tốc độ 2 kênh và rất ổn định tốc độ cho kết nối TCP.

Không có lý do gì, dù TCP nhận gói không hẳn theo thứ tự đúng, nhưng lại rất đảm bảo để không bị mất gói (bên router gửi gửi bao nhiêu, đầy buffer, thì bên nhận sẽ đủ bandwidth nhận bằng ấy, ko drop đi cái nào), thì TCP sẽ chạy tốt. Dù rằng cái cửa số gửi của TCP bị co dãn liên tục do ACK nhận không đều đặn nhau. TCP sợ bị mất gói hơn là bị trễ.

Với đề bài (giả sử và giải trên lý thuyết) của bạn, có 1 kết quả khác, mạng lại tồi hơn. Thì tốt nhất là bạn nên nói suy luận và giải thích ra.

Mình không thi sát hạch, không thi thố tài năng, chỉ sử dụng kinh nghiệm và kiến thức cá nhân để suy đoán cho 1 trường hợp. Coi đó là giải trí hoặc nếu có giúp ích cho người khác hiểu hơn. Chứ kiến thức bao la, thực tế vô vàn, chưa biết được ai nhiều ai ít, ai biết cái này cái nọ đâu.

P/S: mình có bỏ qua 1 giả thiết, nhưng nó ko ảnh hưởng: router chọn random theo weight cũng đạt tỉ lệ phân chia gần với việc router chọn theo cách đếm packet: cứ 3 packet đi theo lối này thì cho 1 cái đi theo lối kia. Khi có nhiều kết nối TCP thì 2 kiểu sẽ thành ngẫu nhiên vì packet đến router là ngẫu nhiên, 1 hay 2 sự ngẫu nhiên đều ra 1 kết quả ngẫu nhiên cả.
Mình thì cho là vấn đề nhiều RAM (8GB) khiến nhiều page quá chưa hẳn khiến kswapd bị overload. 8GB chưa phải là lớn, với kernel 32bit-PAE, vì mình đã từng cho chạy vài con web server IBM x3650 với 8GB, khai thác hết RAM cũng ko vấn đề gì cả. Trường hợp của MrRo nó là 32GB RAM, gấp tới 4 lần cơ.
HugePage trong trường hợp này không giúp ích, vì nếu ứng dụng không thèm dùng nó thì chả có tác dụng gì.
Nếu do nhiều page, có thể nâng cấp lên 64bit, page nó sẽ to hơn (nếu nhớ ko nhầm thì với Intel nó là 16k) và giảm số lượng page đi.
Hoặc bạn thử chạy lệnh swapoff -a coi, nếu có khả năng thì xoá partition swap cũ, tạo 1 partition swap nhỏ hơn (2GB thôi) vào đó, thử coi xem còn hiện tượng như thế.

P/S: nhắn cho bạn gì đó thắc mắc: hoán đổi RAM/swap là việc OS làm nếu ứng dụng xin thêm RAM mà Physic RAM đã cấp hết. OS sẽ write data 1 lượng RAM ko đc truy cấp tới xuống đĩa, giải phóng chỗ, đủ chỗ cho ứng dụng xin thêm, và cho ứng dụng phần trống này. Nếu phần RAM bị write xuống lại được ứng dụng khác cần, thì OS lại write 1 số chỗ khác xuống, rồi lại load lên cái phần lưu trong swap lên RAM cho ứng dụng. Việc này rất chậm vì đĩa truy cập chậm, kswapd là tiến trình phụ trách việc này.

whunter wrote:
Theo hướng dẫn @qtra004, mình tìm kiếm trên internet thì thấy mọi người nói là do modem.
Nhưng không ai khẳng định chắc chắn điều đó cả.

Mình cũng thấy kì kì, modem sao lại chặn không cho truy cập theo địa chỉ external ip. khó hiểu quá smilie

Các anh, các bạn giải thích giúp mình với.


Cũng để khỏi nhầm lẫn, mình xin nêu lại vấn đề như sau:

Mình xây dựng một web server tại nhà để quản lí dự án. Sau khi NAT, từ một máy ở internet, mình đã có thể truy cập thành công website của mình theo địa chỉ http://externalIP:8080

Tuy nhiên tại web server mình lại không thể truy cập website với địa chỉ http://externalIP:8080 mà chỉ có thể truy cập theo địa chỉ: http://localhost:8080

(chú thích: externalIP là ip mặt ngoài của modem)

Mọi người giải thích kĩ nguyên nhân cho mình hiểu với.

 


Do cơ chế NAT sẽ không thể làm cho kết nối thông được nếu như bạn truy cập từ bên trong. Ở đây là NAT địa chỉ đích (và có thể cả port đích).

Xem tại sao nhé:

0. PC có IP là 192.168.1.5, External IP: 1.2.3.4,
1. Packet từ PC truy cập tới ext IP. Khởi tạo kết nối nhờ SYN, SYN sẽ có src 192.168.1.5 - dst 1.2.3.4.
2. dst này ở ngoài, nên PC gửi SYN tới modem.
3. Modem nó NAT theo rule: đổi SYN đó thành: src 192.168.1.5 - dst 192.168.1.5.
4. packet SYN đó quay trở lại PC: src 192.168.1.5 - dst 192.168.1.5.
5. PC tạo kết nối và gửi ACK-SYN trở về src. Nhưng lúc này src lại là 192.168.1.5, chính là nó luôn. PC gửi cho chính nó.
6. PC nhận được ACK-SYN có src 192.168.1.5 - dst 192.168.1.5. Packet này không hợp lệ vì cái SYN tạo lúc đầu là src 192.168.1.5 - dst 1.2.3.4. Đúng ra ACK-SYN là phải src 1.2.3.4 - dst 192.168.1.5 thì mới khớp và ghép vào thành 1 socket được.
7. PC drop cái packet ACK-SYN vô duyên đó.
8. Kết nối bị huỷ, không tạo được.
Theo như top đưa lên thì thực sự swap không bị sử dụng (chỉ có 76k).
Do đó kswapd chạy như thế là bất thường, có thể lỗi vì bug hoặc swap quá to?
Bạn thử xem trong dmesg log và /var/log/messages xem có thông báo gì đặc biệt.

Theo kinh nghiệm và những gì tớ đọc được ở đâu đó, thì swap nên chỉ để tối đa 2GB (Fedora/Centos khi cài đặt chế độ tạo partition mặc định, thì nó luôn tạo swap max 2GB, cho dù RAM = 8GB).
Tại sao thế, vì khi cần memory, một máy 8GB RAM mà OS phải hoán đổi 8GB đó xuống đĩa thì ... vô cùng tệ hại. Đĩa đọc/ghi bị giới hạn tốc độ, như tớ gặp thì nhanh nhất với local disk cỡ 100MB/s, với 8GB hoán đổi mất 80 second là toi hết ứng dụng.
Thấy hỏi thế nên trả lời lại. Bài này các giả thiết nói chung là thiếu, khó có thể rút ra 1 kết luận chính xác. Chỉ có khả năng nó sẽ xảy ra như thế này hoặc như thế kia.

Căn bản vấn đề của việc sử dụng 2 đường truyền như thế, là con router tại CN VN hay NY đều chỉ điều khiển được các packet out-going, không thể điều khiển được hay phân luồng được các packet incoming từ ISP gửi về.
Cho rằng mạng của CN hay NY mỗi nơi chỉ là 1 subnet. Do đó, giả sử router điều khiển 1000 packet đi từ VN sang NY, cho 200p đi theo kênh cũ, 800p đi theo kênh mới, thì đến đầu CN NY nó sẽ đi vào đường nào? điều đó hoàn toàn do ISP các bên Mỹ quyết định.
Điều ngược lại cũng như thế.
Dù là 2 đường với các ISP khác nhau, việc điều khiển luồng đi tới 1 subnet qua 2 đường họ phải trao đổi thông tin định tuyến cho nhau, và cuối cùng sẽ ra con 1 đường tốt hơn.

Do giải thiết là có 1 ISP liên thông giữa 2 bên và đường mới nối với ISP này, giải thiết mọi packet đi từ đường này sẽ qua đường kia, nhưng còn packet đi ra từ kênh cũ chậm còn lại sẽ đi vào đâu ở bên kia? Nó đi vào kênh mới to hơn? Kênh to hơn thì tốt nhưng vẫn sẽ mất cân đối, 1 bên gửi thì tổng gửi = cũ + mới, tổng nhận chỉ là đường mới.

Xem cái hình vẽ trường hợp này:
Code:
1/5 gửi ->
+--------cũ--------- [ ISP 1] --{ Internet }-- [ ISP 2 ] -------cũ--------+
VN subnet-- [router] | [router]-- NY subnet
+--------mới---------------------- [ ISP mới ]----------------------mới------+
4/5 gửi -> 1/5 đến -> 4/5 đến ->


Tại sao nếu gửi và nhận bằng nhiều con đường và mất cân đối khiến có thể tệ hơn? Do các dịch vụ sử dụng (như giả sử của bài) hầu hết là TCP. TCP là giao thức truyền đảm bảo, theo chuỗi đúng thứ tự và luôn có xu hướng "ăn hết khả năng băng thông". TCP sẽ gửi liên tục hết tốc độ các packet theo thứ tự và chờ nhận ACK. Nếu ở 1 khúc nào đó mất packet, thì việc chờ nhận ACK sẽ bị quá thời gian, TCP sẽ gửi lại cả loạt packet nó cho là bị mất và giảm tốc độ gửi đi.
Hãy tưởng tượng 1 chuỗi 1000 packet đi, có xen kẽ 200 packet đi theo kênh cũ và 800 đi theo kênh mới. Đến bên nhận (giả sử CN NY), nó bị nhét tất vào 1 kênh mới. Do độ trễ chênh nhau 1/4 (4 lần, quá lớn), có khi 650/800 packet đến thì 150/200 packet kia mới tới. Chỉ có đúng số này 650 + 150 = 800 packet đi lọt kênh mới, có thể theo thứ tự là 650 đi trước, 150 đi sau. Trong khi đó 150 này đúng ra phải nhận xen kẽ với 650 (cứ 4 cái xen 1 cái).
TCP trong trường hợp có nhận được 650 packet thì vẫn phải chờ 150 packet kia mới đủ 1 chuỗi liên tục, và nó sẽ không thèm gửi ACK cho đến khi chờ đủ. Bên gửi thấy lâu quá không có ACK, tưởng chuỗi packet bị mất, giảm tốc độ chút và gửi lại cả chuỗi 1000 packet (gần 1000 thôi).
Lúc bên ISP nhận có thể bị overbuffer của đường mới, nó drop 1 số lượng nhất định packet (có thể ngẫu nhiên hoặc tuần tự).
Cứ thế, hiệu quả của đường truyền giảm đi, do bên gửi cứ phải gửi đi, gửi lại. Việc sếp vẫn bị phàn nàn về đường truyền hoàn toàn có thể xảy ra theo khả năng này.

Việc này có thể khắc phục bằng cách bỏ đường cũ đi. Trường hợp cần giữ đường cũ vì cần dự phòng và muốn chạy nhanh hơn chút, thì phải thay 2 con router 2 đầu CN có khả năng cân bằng tải tốt hơn theo kiểu per-packet như trên. Nếu subnet nhiều địa chỉ thì kiểu per-destination có thể giúp ích. Nếu ít địa chỉ, nhiều kết nối, thì kiểu xịn hơn là per-session sẽ giúp ích. Các session TCP nhất định sẽ chỉ đi theo 1 đường do router chọn (mới hoặc cũ), sẽ không gây ra việc packet tới sớm, tới muộn, lộn xộn thứ tự một cách tệ hại như thế.
Cần gì phức tạp thế.
Theo tớ, nên làm 1 chương trình "tự động upload" bằng giao thức FTP. Với chức năng là thiết lập cho nó 1 thư mục local dir và 1 account FTP (server/user/pass/remote dir), thư mục local dir này có file gì mới hoặc có file nào đó thay đổi, thì nó tự upload file đó lên, ghì đè vào server.
Hoặc làm ngược lại, trên ftp server có file nào mới hoặc có file nào thay đổi thì nó tự down về, trong 1 khoảng thời gian nhất định setup trước (ví dụ 5 phút check file mới 1 lần).
Thư viện để FTP thì dùng cái có sẵn của Win (nó là WinInet nếu lập trình VC++), hoặc dùng command line tool có sẵn, đừng viết lại làm gì. Còn dùng Linux thì vô cùng nhiều.
Tool này sẽ có ích đấy, nếu làm ngon và cho miễn phí thì có khi nhiều người sẽ dùng đó.
Có 2 cái cần xem kỹ:
- Máy firewall đã "active" khả năng routing lên chưa? tức là cho phép gói tin dẫn qua nó? Máy đó chạy Win thì chỉ cần active cái RRAS lên là được.
- Modem ADSL đã có "route" back lại máy firewall với các IP Subnet bên trong (172.16.x.x) chưa?
Các phân vùng NTFS nó có 1 cái gọi là Journal Log để ghi lại các hoạt động ghi/đọc/được mount hay không, trạng thái của phân vùng đó ra sao. Khi hybernate hoặc khi Win bị mất điện đột ngột, các phân vùng NTFS đó đang ở trạng thái đang hoạt động và được coi là chưa được umount (hay dismount) một cách đúng đắn, thuật ngữ chỉ trạng thái đó là "dirty".
Bình thường khi khởi động lại vào Win, Win sẽ tự kiểm tra trạng thái này, nó dựa trên Journal log và xử lý vấn đề nếu có một cách nhanh chóng. Sau đó khởi động bình thường.
Linux thì không có khả năng đó, do NTFS là công nghệ độc quyền của riêng Ms và tài liệu về cái này không được công bố.
Nên vì thế, để đảm bảo an toàn, các hỗ trợ ntfs trên linux đều tự động kiểm tra trạng thái dirty và nếu thấy, thì linux không cho mount hoặc chỉ cho mount dạng read-only, nhằm đảm bảo an toàn dữ liệu của phân vùng NTFS.
Các xử lý là phải shutdown hoặc check/sửa các phân vùng NTFS trên Win cẩn thận rồi mới mount trên linux.
Hì, giờ các bạn lại chuyển qua làm hardware. Hơi lạc đề 1 tí. Tôi tuy ko phải dân điện/điện tử chuyên nghiệp nhưng cũng xin góp tí ý nghiệp dư, hi vọng giúp các bạn thành công.

Việc tận dụng 2 cặp dây còn lại của dây Cat 5 để làm việc khác không phải là ... hiếm. Tôi đã dùng nhiều lần để làm dây ... điện thoại. Nghĩa là 1 sợi dây mạng, trong đó có 2 cặp truyền dữ liệu, 1 cặp làm dây điện thoại, 1 dự phòng. Nói chung dùng ổn, trừ khi có thằng nào nó cố tình cắm nhầm.

Tận dụng 2 cặp đó để truyền điện (tự chế, ko phải PoE), việc này là ý tưởng thú vị đấy. Nhưng sẽ có 3 vấn đề phải giải quyết:
- Sự suy hao khi truyền điện: Lõi đồng của dây mạng Cat 5e nhỏ, đường kính khoảng 0.2-0.3mm, điện trở lớn. Không phải người ta vô lý mà người ta lại truyền điện 48V trên PoE, điện áp cao thì tỉ lệ suy hao càng thấp. Nên nhớ khoảng cách lý thuyết tối đa là 100m. Nếu chỉ 20-30m, sẽ làm rớt đi khoảng 2-3volt khi truyền từ đầu tới cuối. 3/48 ~ 6%, nhưng với điện 12V thì sẽ là 3/12v = 25%. Dùng điện áp cao hơn thì lại phải cần đến bộ giảm điện áp (DC-to-DC conversion) ở đầu cuối sử dụng 12V.
- Nguồn điện: với dòng điện 1A thì dây mạng LAN hoàn toàn chịu được. Nhưng công suất và chất lượng của bộ nguồn sẽ quan trọng. Vì nguồn điện 12V/1A chất lượng đảm bảo không phải rẻ lắm. Đấy là chỉ 1 cái dùng điện qua dây này, chớ nếu vài ba cái thì công suất không phải nhỏ.
- Chập điện: dây mạng LAN nếu bạn có để chập nhau thì ... card mạng ko vấn đề gì. Nhưng dây mạng thường nó không thiết kế để truyền điện (ngay từ đầu), do đó nếu chuột gặm hoặc có sự nhầm lẫn nào đó gây chập điện, thì dây mạng đó sẽ nóng lên rất nhanh và vỏ nhựa có thể bốc cháy => hoả hoạn. Do đó bộ nguồn phải có khả năng tự cắt khi dòng điện tăng lên đến mức độ nào đó.

Thiết bị cấp nguồn PoE (như switch) đắt vì ngoài việc nó cấp điện DC công suất lớn (với mỗi port theo chuân là 48V*1A = 48W => 12 ports ~ 500W), nó có khả năng cắt điện khi chập. Nó còn khả năng dò tải, nếu cắm vào thiết bị mạng không lấy điện PoE thì nó sẽ cắt điện đi và chỉ là 1 lỗ mạng thông thường. Chưa kể detect chuẩn A hay B ở đầu cuối.

zu4er wrote:

myquartz wrote:


Thiết bị cung cấp điện PoE nó là thiết bị đc thiết kế đặc biệt, nó cung cấp nguồn điện có dòng điện/điện áp nhất định trên các dây dẫn, kiêm việc điều chế tín hiệu lên đó, hoàn toàn là phần cứng. Card mạng thông thường dù là ở máy chủ linux hay win chỉ có khả năng điều chế tín hiệu.


 


vậy ý cậu nói là năng lượng điện đi chung cùng cộng dây với tín hiệu thông tin? 8 sợi dây mạng điều mang thông tin + năng lượng điện ?

 


Tuỳ mode, xem kỹ ở Wikipedia:


Two modes, A and B, are available.

Mode A has two alternate configurations (MDI and MDI-X), using the same pairs but with different polarities. In mode A, pins 1-2 (pair #2 in T568B wiring) form one side of the 48 V DC, and pins 3-6 (pair #3 in T568B) form the other side. These are the same two pairs used for data transmission in 10Base-T and 100Base-TX, allowing the provision of both power and data over only two pairs in such networks. The free polarity allows for patch cables and automatic RX/TX detection.

In mode B, pins 4-5 (pair #1 in both T568A and T568B) form one side of the DC supply and pins 7-8 (pair #4 in both T568A and T568B) provide the return; these are the "spare" pairs in 10BASE-T and 100BASE-TX. Mode B, therefore, requires a 4-pair cable. 


Mode A thì cặp dây 1-2 và 3-6 cấp điện 48VDC, nhưng 2 cặp đó cũng mang dữ liệu, do đó cần nối 2 cặp là đủ. Mode B thì nó dùng 2 cặp dây spare (của chuẩn 10B và 100B) để truyền điện là 4-5 và 7-8, kiểu này cần đủ 4 cặp mới dùng được.

Việc tín hiệu đi chung với đường cấp điện cũng không có gì khác lạ, vì có cả những kiểu giao tiếp mạng dùng hệ thống dây điện 220v ở nhà để truyền dữ liệu, kiểu adapter cắp vào ổ điện ấy. Xem thêm http://en.wikipedia.org/wiki/Power_line_communication (ảnh mẫu http://images.google.com.vn/images?q=Homeplug%20adapter&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&um=1&ie=UTF-8&sa=N&hl=vi&tab=wi ).

Chỉ có điều là mọi thiết bị này đều là do khả năng của phần cứng, chớ không thể phần mềm nào đó làm được. Không cần học cho hết mọi thứ, nhưng ít ra là nên hiểu khái niệm cơ bản.
Đôi khi ng ta cài mà ko kéo cả đám depencies về, nhưng lúc đó phải down từng gói về rồi chạy lệnh rpm với tham số bỏ qua kiểm tra dep. Có package, mà 1 tính năng nhỏ ko dùng đến lại cần cái thư viện to đùng. Ít khi package lại cần đến cái document đâu.
Nhưng việc này cần hiểu rõ về cái package đó, nếu ko cài què cụt vào nó cũng chạy đc, phí công.
Yum nó đáng yêu chính là giúp ta cài các dep cần thiết mà ko cần mò mẫm đấy.
Nói cho nghiêm túc thì cậu đưa ra cái khái niệm PoE server và cả cậu centos, cóc hiểu gì về điện và cả công nghệ thông tin (phần hardware).
Đó là 2 cái khác nhau, 1 là về năng lượng điện và cách truyền tải nó, cái thứ 2 là xử lý và truyền thông tin bằng điện.
PoE là thiết kế hardware đặc biệt, cho phép dùng dây mạng Lan để truyền năng lượng điện kèm với cả tín hiệu điện mang thông tin. Cùng là điện nhưng tín hiệu điện mang thông tin trên dây đó nó rất khác, nó là sóng điện, dù có năng lượng nhưng nói chung rất nhỏ ko thể dùng để cung cấp nguồn cho cái gì đc. Chưa kể các yếu tố như là công suất, điện áp... Hoàn toàn ko thể đáp ứng.
Thiết bị cung cấp điện PoE nó là thiết bị đc thiết kế đặc biệt, nó cung cấp nguồn điện có dòng điện/điện áp nhất định trên các dây dẫn, kiêm việc điều chế tín hiệu lên đó, hoàn toàn là phần cứng. Card mạng thông thường dù là ở máy chủ linux hay win chỉ có khả năng điều chế tín hiệu.
Nếu vẫn cứ muốn 'PoE' tự chế, đấu điện 220v ở ổ cắm vào các dây Lan xem, thấy ngay smilie.

Đừng nhọc công làm gì. Tớ cũng có con này, và ko thể cài đc win xp bất kỳ. Lý do: HP nó ko hỗ trợ xp driver ko chỉ sata mà cả chipset. Mọi tính năng compatible với phiên bản cũ đều ko có.
Chỉ có vista hoặc win 7, hoặc linux (ver mới) thôi.
 
Go to Page:  First Page Page 14 15 16 17 Page 19 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|