9/5/12

Khi bạn là người đến sau


Không phải ai cũng có diễm phúc được là mối tình đầu thiêng liêng của đối phương. Vì thế, chuyện là người đến sau chẳng có gì khiến bạn phải thấy nặng nề, khó chịu.
1. Đừng dằn vặt về quá khứ
Mối tình đầu là mối tình đẹp nhưng mong manh, dễ vỡ, vì vậy hãy hạnh phúc vì bạn và chàng ít nhiều đã có những kinh nghiệm để tránh đi vào “vết xe đổ” của sự tan vỡ. Thay vì đay nghiến, dằn vặt chàng vì những câu hỏi đi vào ngõ cụt như “vì sao anh yêu cô ta“, “em và cô ấy ai đẹp hơn“, “anh có còn nhớ cô ấy không”, hãy tự tin nhìn vào phía trước và để thời gian chăm sóc cho tình cảm của bạn thêm mặn mà hơn.
2. Không nên so sánh
Đừng khờ dại so sánh mình với người yêu đầu của anh ấy. Bạn là bạn và bạn có những hấp dẫn của riêng bạn. Hãy tự tin với tình yêu mà anh ấy dành cho bạn.
3. Tránh tìm hiểu
Không nên tìm hiểu sâu về quá khứ của anh ấy để rồi ghen tức thẫn thờ, bạn cũng không có quyền yêu cầu anh ấy đốt hay xé đi những hình ảnh, thư từ cũ. Nếu tình cảm dành cho bạn sâu nặng, anh ấy tự biết phải xử lý kỷ niệm như thế nào. Hãy nghĩ rằng nếu chàng là một người dễ dàng vứt bỏ quá khứ thì cũng không chắc sẽ biết tôn trọng hiện tại đâu.
4. Thông cảm
Nếu chàng so sánh bạn và muốn bạn giống người yêu cũ, hãy thông cảm cho chàng vì anh ấy cũng cần có thời gian để bình phục sau cú sốc tình cảm. Hãy chứng minh bằng thời gian và tình yêu của bạn rằng bạn yêu chàng nhưng là một người hoàn toàn khác. Anh ấy sẽ biết cách nhìn lại bản thân mình và rút ra bài học sauđổ vỡ trước.
5. Tạo niềm tin
Nếu người yêu đầu của chàng quá “ghê gớm” để lại cho anh ấy những suy nghĩ không tốt về phụ nữ, bạn hãy vị tha nhưng đừng nhu nhược. Hãy chăm sóc và mang đến cho chàng những niềm vui trong cuộc sống, cũng đừng bi lụy đòi chàng phải quan tâm đến bạn ngay lập tức. Anh ấy sẽ hiểu tình yêu thật sự là như thế nào và thêm trân trọng bạn hơn.
Ngoài ra, bạn cũng nên lưu ý một số điều sau:
- Đừng vì mặc cảm “người đến sau“ mà chấp nhận cho anh ấy bắt cá hai tay, vẫn dây dưa với người cũ.
- Hãy gắn bó với gia đình nhỏ của chàng, với mẹ chàng, chị gái, em gái, bạn bè chàng, bạn sẽ càng hiểu thêm về quá khứ tình cảm trước đây của chàng để tự mình rút ra bài học cho tình cảm bản thân.
- Đừng đem tình dục làm vũ khí ràng buộc chàng, anh ấy sẽ không trân trọng bạn đâu.
- Hãy dành thời gian nghe anh ấy tâm sự về những điều đã qua, nhưng không chỉ trích. Anh ấy cần bạn để chia sẻ, lắng nghe hơn là đưa ra những lời khuyên. Hãy im lặng và thông cảm.
- Đừng tìm gặp người cũ hoặc những người bạn cũ với hy vọng muốn biết rõ hơn về quá khứ của chàng. Hãy sống cho hiện tại và đừng để hiện tại tan vỡ chỉ vì những hờn ghen của bạn về quá khứ đã qua.

7/5/12

15 công cụ cần thiết khi quản trị hệ thống Linux từ dòng lệnh


Đối với người quản trị hệ thống mạng thì việc monitor và troubleshoot hệ thống là công việc thiết yếu thường phải thực hiện thường xuyên. Trong bài viết này mình sẽ giới thiệu một số công cụ nhỏ nhưng hiệu quả cao, đa số đều có sẵn trên hệ điều hành Linux để giúp chúng ta có thể thực hiện được công việc quản trị tốt hơn khi làm việc trong môi trường dòng lệnh.

1) sar
Sử dụng tiện ích sar chúng ta có thể làm việc là: monitor hiệu suất hoạt động của hệ thống theo thời gian thực (CPU, Memory, I/O,…) và thu thập các dữ liệu của các tiến trình đang xử lý để đưa ra thống kê và xử lý tắt nghẽn.
  • Một vài nội dung chúng ta có thể sử dụng sar để xem:
  • Tài nguyên CPU được sử dụng.
  • Tài nguyên CPU được sử dụng theo từng core.
  • Tình trạng bộ nhớ RAM.
  • Tình trạng bộ nhớ SWAP.
  • Tình trạng I/O trên hệ thống.
  • Thống kê về mạng.
  • Đưa ra các báo cáo từ khoản thời gian nào đó.
Ví dụ: Để thông kê tình trạng I/O của hệ thống trong mỗi giây (thực hiện tổng cộng 3 lần) ta sử dụng lệnh như sau
# sar -b 1 3
[root@server ~]# sar -b 1 3
Linux 2.6.32-71.el6.x86_64 (server.khanh.com.vn)  01/09/2012    _x86_64_(1 CPU)

03:54:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
03:54:29 PM    346.00    264.00     82.00   2208.00    768.00
03:54:30 PM    100.00     36.00     64.00    304.00    816.00
03:54:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

2) lostat
iostat sẽ đưa ra các thống kê về CPU, disk I/O và NFS. Khi sử dụng lệnh iostat không có đối số nào chúng ta sẽ có kết quả tổng quan về tình trạng CPU, disk I/O trên hệ thống.
# iostat
[root@server ~] # iostat
Linux 2.6.32-71.el6.x86_64 (server.khanh.com.vn)  01/09/2012    _x86_64_(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.72      1096.66      1598.70 2719068704 3963827344
sda1            178.20       773.45      1329.09 1917686794 3295354888
sda2             16.51       323.19       269.61  801326686  668472456
sdb             371.31       945.97      1073.33 2345452365 2661206408
sdb1            371.31       945.95      1073.33 2345396901 2661206408
sdc             408.03       207.05       972.42  513364213 2411023092
sdc1            408.03       207.03       972.42  513308749 2411023092

Để đưa thống kê trê một ổ đĩa ta thực hiện
# iostat –p sda
[root@server ~] # iostat -p sda
Linux 2.6.32-71.el6.x86_64 (server.khanh.com.vn)  01/09/2012

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.51      1598.48 2719069928 3963829584
sda2            336.38        27.17        54.00   67365064  133905080
sda1            821.89         0.69       243.53    1720833  603892838

Chú ý: iostat là một phần của gói systat, vì thế trức khi sử dụng được lệnh iostat thì bạn cần cài đặt gói systat trước.
3) mpstat
Lệnh mpstat sẽ đưa ra các thống kê chi tiết về tình trạng xứ lý của CPU. Với tham số “-A” chúng ta có thể xem được tất cả các thống kê này.
# mpstat –A
[root@server ~]# mpstat -A
Linux 2.6.32-71.el6.x86_64 (server.khanh.com.vn)        01/09/2012      _x86_64_(1 CPU)

03:34:27 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
03:34:27 PM  all    0.15    0.01    0.34    1.16    0.00    0.11    0.00    0.00   98.23
03:34:27 PM    0    0.15    0.01    0.34    1.16    0.00    0.11    0.00    0.00   98.23

03:34:27 PM  CPU    intr/s
03:34:27 PM  all     31.60
03:34:27 PM    0     10.35

03:34:27 PM  CPU     0/s     1/s     3/s     4/s     7/s     8/s     9/s    12/s    14/s    15/s    16/s    17/s    18/s    19/s    24/s    25/s    26/s    27/s    28/s    29/s    30/s    31/s    32/s    33/s    34/s    35/s    36/s    37/s    38/s    39/s    40/s    41/s    42/s    43/s    44/s    45/s    46/s    47/s    48/s    49/s    50/s    51/s    52/s    53/s    54/s    55/s   NMI/s   LOC/s   SPU/s   PMI/s   PND/s   RES/s   CAL/s   TLB/s   TRM/s   THR/s   MCE/s   MCP/s   ERR/s   MIS/s
03:34:27 PM    0    0.06    0.00    0.00    0.00    0.00    0.00    0.00    0.04    0.00    0.06    0.00    3.17    0.00    7.01    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   21.25    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
Để đưa ra thống kê về mức xử lý trên từng core ta có thể dùng lệnh:
# mpstat -P ALL
4) vmstat
Lệnh vmstat sẽ đưa ra các thống kê chi tiết về tình trạng bộ nhớ ảo. Ví dụ
# vmstat
[root@server ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 724176  20316 144060    0    0    60    13   30  120  0  0 98  1  0
Chú ý: vmstat là một phần của gói systat, vì thế trức khi sử dụng được lệnh vmstat thì bạn cần cài đặt gói systat trước.
5) ps
Một lệnh khác cũng khá quen thuộc với người sử dụng Linux đó là lệnh ps. Lệnh này giúp ta liệt kê các tiến trình đang chạy trên hệ thống và nhiều thông tin liên quan khác giúp ta xử lý được các sự cố xảy ra.
Để liệt kê các tiến trình đang chạy trên hệ thống
# ps –ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 14:51 ?        00:00:01 /sbin/init
root         2     0  0 14:51 ?        00:00:00 [kthreadd]
root         3     2  0 14:51 ?        00:00:00 [migration/0]
root         4     2  0 14:51 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 14:51 ?        00:00:00 [watchdog/0]
root         6     2  0 14:51 ?        00:00:00 [events/0]
root         7     2  0 14:51 ?        00:00:00 [cpuset]
root         8     2  0 14:51 ?        00:00:00 [khelper]
root         9     2  0 14:51 ?        00:00:00 [netns]
root        10     2  0 14:51 ?        00:00:00 [async/mgr]
root        11     2  0 14:51 ?        00:00:00 [pm]
root        12     2  0 14:51 ?        00:00:00 [sync_supers]
root        13     2  0 14:51 ?        00:00:00 [bdi-default]
root        14     2  0 14:51 ?        00:00:00 [kintegrityd/0]
root        15     2  0 14:51 ?        00:00:00 [kblockd/0]
root        16     2  0 14:51 ?        00:00:00 [kacpid]
root        17     2  0 14:51 ?        00:00:00 [kacpi_notify]
root        18     2  0 14:51 ?        00:00:00 [kacpi_hotplug]
root        19     2  0 14:51 ?        00:00:00 [ata/0]
root        20     2  0 14:51 ?        00:00:00 [ata_aux]
root        21     2  0 14:51 ?        00:00:00 [ksuspend_usbd]
root        22     2  0 14:51 ?        00:00:00 [khubd]
root        23     2  0 14:51 ?        00:00:00 [kseriod]
root        25     2  0 14:51 ?        00:00:00 [khungtaskd]
....

Để hiển thị chi tiết hơn ta có thể sử dụng lệnh # ps -aux
[root@server ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  19236  1424 ?        Ss   14:51   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    14:51   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    14:51   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    14:51   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    14:51   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S    14:51   0:00 [events/0]
root         7  0.0  0.0      0     0 ?        S    14:51   0:00 [cpuset]
root         8  0.0  0.0      0     0 ?        S    14:51   0:00 [khelper]
root         9  0.0  0.0      0     0 ?        S    14:51   0:00 [netns]
root        10  0.0  0.0      0     0 ?        S    14:51   0:00 [async/mgr]
...
Để liệt kê các tiến trình thuộc về người dùng nào đó ta có thể làm như sau. Ví dụ mình sẽ liệt kê các tiến trình thuộc về 2 user là apachenginx
# ps -f -u apache,nginx
[root@server ~]# ps -f -u apache,nginx
UID        PID  PPID  C STIME TTY          TIME CMD
apache    1423  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1424  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1425  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1426  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1427  1422  0 14:51 ?        00:00:00 php-fpm: pool www
nginx     1437  1435  0 14:51 ?        00:00:00 nginx: worker process

6) free
Lệnh free sẽ cho chúng ta thống kê về tình trạng sử dụng của dung lượng RAM và SWAP của hệ thống. Ví dụ
# free
[root@server ~]# free
             total       used       free     shared    buffers     cached
Mem:       1020532     296852     723680          0      20444     144180
-/+ buffers/cache:     132228     888304
Swap:      4128760          0    4128760
Bạn có thể sử dụng các đối số –b, –m, –g,.. để hiển thị mức dung lượng theo đơn vị bytes, megabytes hay gigabytes,..
7) top
Cũng là một trong số các lệnh cơ bản và được build sẵn trong hầu hết các hệ điều hành linux/unix. Lệnh top giúp chung ta có cái nhìn tổn quát về các tiến trình đang chạy trên hệ thống bao gồm nhiều thông tin như PID, PPID, %CPU, %MEM,…
# top
[root@server ~]# top
top - 15:58:50 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  88 total,   1 running,  87 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020532k total,   297108k used,   723424k free,    20540k buffers
Swap:  4128760k total,        0k used,  4128760k free,   144276k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      20   0 19236 1424 1148 S  0.0  0.1   0:01.46 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
....
Để liệt kê các tiến trình đang chạy bằng lệnh top phân biệt theo từng người dùng. Ví dụ các tiến trình đang chạy với user apache
# top –u apache
[root@server ~]# top -u apache
top - 16:01:54 up  1:10,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  88 total,   1 running,  87 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020532k total,   297240k used,   723292k free,    20580k buffers
Swap:  4128760k total,        0k used,  4128760k free,   144276k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1423 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1424 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1425 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1426 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1427 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm

8) pmap:

Lệnh pmap sẽ hiển thị bản đồ về bộ nhớ được cấp phát cho các tiến trình đang chạy trên hệ thống. Để sử dụng được lệnh pmap đầu tiên ta cần phải xác định trước pid của một tiến trình (chẳn hạn sử dụng lệnh ps –aux để biết). Ví dụ mình sử dụng lệnh pmap để xem bản đồ về bộ nhớ của tiến trình có pid1423
[root@server ~]# pmap 1423
1423:   php-fpm: pool www
0000000000400000   2900K r-x--  /usr/sbin/php-fpm
00000000008d5000    336K rw---  /usr/sbin/php-fpm
0000000000929000    112K rw---    [ anon ]
0000000000b28000     44K rw---  /usr/sbin/php-fpm
00000000025c9000   2656K rw---    [ anon ]
0000003e47200000    120K r-x--  /lib64/ld-2.12.so
0000003e4741e000      4K r----  /lib64/ld-2.12.so
0000003e4741f000      4K rw---  /lib64/ld-2.12.so
0000003e47420000      4K rw---    [ anon ]
0000003e47600000      8K r-x--  /lib64/libdl-2.12.so (deleted)
0000003e47602000   2048K -----  /lib64/libdl-2.12.so (deleted)
0000003e47802000      4K r----  /lib64/libdl-2.12.so (deleted)
0000003e47803000      4K rw---  /lib64/libdl-2.12.so (deleted)
0000003e47a00000   1492K r-x--  /lib64/libc-2.12.so
0000003e47b75000   2048K -----  /lib64/libc-2.12.so
0000003e47d75000     16K r----  /lib64/libc-2.12.so
0000003e47d79000      4K rw---  /lib64/libc-2.12.so
0000003e47d7a000     20K rw---    [ anon ]
…

9) Tcpdump
Có lẽ đây là một lệnh quen thuộc mà bất kỳ người quản trị hệ thống mạng Linux/Unix đều biết Smile. Với tcpdump chúng ta có thể thực hiện bắt gói tin từ dữ liệu ra vào trên các giao tiếp mạng. Ví dụ:
# tcpdum –i eth1
[root@server ~]# tcpdump -i eth1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
15:18:46.719161 IP 192.168.1.111.ssh >; 192.168.1.13.valisys-lm: Flags [P.], seq 1756740101:1756740297, ack 3536611579, win 142, length 196
15:18:46.719474 IP 192.168.1.13.valisys-lm >; 192.168.1.111.ssh: Flags [.], ack 196, win 4305, length 0
15:18:46.719861 IP 192.168.1.111.43629 >; google-public-dns-a.google.com.domain: 49260+ PTR? 13.1.168.192.in-addr.arpa. (43)

Bắt gói tin từ eth1 và lưu vào tệp tin thongke.pcap
# tcpdump -w thongke.pcap -i eth1
[root@server ~]# tcpdump -w thongke.pcap -i eth1
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes

9 packets captured
9 packets received by filter
0 packets dropped by kernel

10)  netstat:
Đối với các quản trị mạng thì chắc hẳn không ai bỏ qua lệnh này Smile. Với netstat ta có thể xem được các thông tin về mạng hiện tại của chúng ta như: tình trạng kết nối, routing, interfaces, các nhóm muticast,…
Để liệt kê tất cả các port đang được sử dụng
# netstat -a | more
[root@server ~]# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             Stat
e
tcp        0      0 localhost.locald:cslistener *:*                         LIST
EN
tcp        0      0 *:sunrpc                    *:*                         LIST
EN
tcp        0      0 *:http                      *:*                         LIST
EN
tcp        0      0 *:ssh                       *:*                         LIST
EN
tcp        0      0 localhost.localdomain:smtp  *:*                         LIST
EN
tcp        0      0 *:51709                     *:*                         LIST
EN
tcp        0     52 192.168.1.111:ssh           192.168.1.13:7104           ESTA

Để xác định tiến trình nào đang sử dụng port 80
# netstat -an | grep 80
[root@server ~]# netstat -an | grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN
unix  2      [ ACC ]     STREAM     LISTENING     9808   /var/run/abrt/abrt.socket
unix  2      [ ]         DGRAM                    9803

Liệt kê các interfaces có trong hệ thống
# netstat -i
[root@server ~]# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth1       1500   0    13914      0      0      0    18406      0      0      0 BMRU
lo        16436   0        0      0      0      0        0      0      0      0 LRU

Hiển thị bảng định tuyến
# netstat –r
[root@server ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth1
default         my.router       0.0.0.0         UG        0 0          0 eth1

11) lsof:
Lsof viết tắt của ls open files, với lệnh này chúng ta có thể liệt kê tất cả các file đang được mở trên hệ thống. Những file này bao gồm file về kết nối mạng, thiết bị, thư mục. Output của lệnh lsof có những cột như:
  • COMMAND: Tên của process
  • PID: PID của process
  • USER: Tên của user thực hiện process đó
  • FD: File decriptor
  • TYPE: Loại file
  • DEVICE: Device number
  • SIZE: Kích thước
  • NODE: Số hiệu node
  • NAME: Đường dẫn đầy đủ của file
Để xem danh sách tất cả các file đang được mở
# lsof
[root@server ~]# lsof | more
COMMAND     PID         USER   FD   TYPE             DEVICE      SIZE      NODE
NAME
init          1         root  cwd    DIR             144,98      4096  54759537
/
init          1         root  rtd    DIR             144,98      4096  54759537
/
init          1         root  txt    REG             144,98     40968 199737498
/sbin/init
init          1         root  mem    REG             144,98    137344  81322956
/lib64/ld-2.5.so
init          1         root  mem    REG             144,98    245232  81322958
/lib64/libsepol.so.1
init          1         root  mem    REG             144,98     92960  81322884
/lib64/libselinux.so.1
...
Để xem danh sách các file được mơ bởi user apache
# lsof -u apache
[root@server ~]# lsof -u apache
COMMAND   PID   USER   FD   TYPE    DEVICE      SIZE      NODE NAME
httpd    2017 apache  cwd    DIR    144,98      4096  54759537 /
httpd    2017 apache  rtd    DIR    144,98      4096  54759537 /
httpd    2017 apache  txt    REG    144,98    331048  81346804 /usr/sbin/httpd
httpd    2017 apache  mem    REG    144,98    137344  81322956 /lib64/ld-2.5.so
httpd    2017 apache  mem    REG    144,98    611880  81322899 /lib64/libm-2.5.s
o
httpd    2017 apache  mem    REG    144,98    127720  81322853 /lib64/libpcre.so
.0.0.1
httpd    2017 apache  mem    REG    144,98     92960  81322884 /lib64/libselinux
.so.1
httpd    2017 apache  mem    REG    144,98    108136  81351015 /usr/lib64/libapr
util-1.so.0.2.7
...

Để liệt kê danh sách các user đang sử dụng trình soạn thảo vi
# lsof /bin/vi
[root@server ~]# lsof /bin/vi
COMMAND  PID  USER    FD   TYPE DEVICE   SIZE   NODE NAME
vi      7258  root   txt    REG    8,1 474608 475196 /bin/vi
vi      7300  khanhnd txt    REG    8,1 474608 475196 /bin/vi

12) w và uptime:
Với lệnh rất ngắn “w” sẽ cho chúng ta biết được những user nào đã đăng nhập vào hệ thống
# w
[root@server ~]# w
 20:01:32 up 22 days, 23:18,  2 users,  load average: 0.01, 0.07, 0.07
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    123.20.50.205    19:51    0.00s  0.09s  0.00s w
khanhnd  pts/1    123.20.50.205    20:01    3.00s  0.00s  0.00s -bash
Một số thông tin hữu ích từ lệnh w như:
  • USER: Tên của user đăng nhập
  • TTY: Đăng nhập trên tty nào?
  • FROM: Địa chỉ IP của client đăng nhập.
  • LOGIN@: Thời gian đăng nhập.
Đối với lệnh uptime sẽ cho chúng ta kết quả một dòng duy nhất có thông tin về thời gian hệ thống đã chạy được là bao lâu, có bao nhiêu user đăng nhập vào, thời gian load trung bình,…
# uptime
[root@server ~]# uptime
 19:59:38 up 22 days, 23:16,  1 user,  load average: 0.08, 0.11, 0.08

Chú ý: Cả 2 lệnh wuptime đều lấy dữ liệu từ /var/run/utmp

13) /proc
/proc là thư mục chứa các tệp tin chứa thông tin về hệ thống như cpuinfo, devices, dma, filesystems, locks, meminfo,…
Ví dụ để đọc thông tin cpu
# cat /proc/cpuinfo
[root@server proc]# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 8
model name      : AMD Opteron(tm) Processor 4180
stepping        : 1
cpu MHz         : 2600.049
cache size      : 512 KB
physical id     : 1
siblings        : 6
core id         : 0
cpu cores       : 6
apicid          : 8
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
...

14) vnStat
vnStat là một công cụ nhỏ gọn chạy ở chế độ console giúp chúng ta có thể monitor lưu lượng mạng trên từng interface của hệ thống Linux. Ở bài viết “Giám sát lưu lượng mạng trong Linux với tiện ích vnStat” mình cũng đã trình bày cách cài đặt cũng như sử dụng vnStat rồi Smile.
# vnstat
[root@server ~]# vnstat
Database updated: Sun Jan  8 22:30:16 2012

   eth1 since 01/08/12

          rx:  273 KiB      tx:  98 KiB      total:  371 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Jan '12       273 KiB |      98 KiB |     371 KiB |    0.00 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today       273 KiB |      98 KiB |     371 KiB |    0.04 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

15) ss
ss viết tắt của Socket Statistics. Lệnh này cũng tương tự như lệnh netstat vậy.
Để hiển thị tất cả các socket đang lắng nghe
# ss -l
[root@server ~]# ss -l
Recv-Q Send-Q           Local Address:Port               Peer Address:Port
0      0                            *:mysql                         *:*
0      0                            *:pop3                          *:*
0      0                            *:imap                          *:*
0      0                            *:http                          *:*
0      0                            *:ndmp                          *:*
0      0                    127.0.0.1:scp-config                       *:*      
0      0                            *:ftp                           *:*
0      0                            *:imaps                         *:*
0      0                            *:pop3s                         *:*
0      0                           :::webcache                      :::*
0      0                           :::ssh                          :::*

Để chỉ hiển thị các kết nối đã được thiết lập
# ss –o state established
[root@server ~]# ss -o state established
Recv-Q Send-Q           Local Address:Port               Peer Address:Port
0      0               180.235.134.14:http              66.249.67.105:46744
0      0                    127.0.0.1:44706                 127.0.0.1:webcache
0      69              180.235.134.14:36226              65.110.21.43:http     timer:(on,380ms,0)
0      0             ::ffff:127.0.0.1:webcache        ::ffff:127.0.0.1:44706    timer:(keepalive,119min,0)
0      596      ::ffff:180.235.134.14:ssh        ::ffff:123.20.50.205:35900    timer:(on,650ms,0)

Ngắt kết nối TCP trong Solaris bằng tiện ích tcpdrop



Tcpdrop là một công cụ miễn phí trong Solaris giúp chúng ta thực hiện DROP các kết nối TCP đã được thiết lập tới Server. Chỉ với một dòng lệnh, ta có thể DROP kết nối một cách nhanh chóng. tcpdrop hoạt động tốt ở các phiên bản Solaris 8, 9, 10.
Chúng ta có thể download miễn phí gói cái đặt của tcpdrop tại www.sunfreeware.com có các phiên bản dành cho x86 lẫn SPARC

Link download:
Giải nén & cài đặt:
Sau khi download bộ cài đặt về, ta tiến hành giải nén
# gunzip tcpdrop_solaris-20080516-sol10-x86-local.gz
Dùng lệnh pkgadd để thực hiện cài đặt công cụ này
# pkgadd -d tcpdrop_solaris-20080516-sol10-x86-local
solaris-tcpdrop-01

Cấu hình biến môi trường PATH:
Chúng ta cần thêm vào đường dẫn chứa chương trình tcpdrop (/usr/local/bin) để có thể thực thi lệnh này một cách dễ dàng. Ở đây mình dùng TC shell nên sẽ thêm như sau
Chuyển qua TC shell
# tcsh
Xem giá trị hiện tại của biến môi trường PATH
# echo $PATH
Thêm đường dẫn /usr/local/bin vào biến môi trường PATH
# set path=(/usr/sbin /usr/bin /usr/local/bin .)
solaris-tcpdrop-02
Để biết thêm về cách cấu hình biến môi trường PATH bạn có thể tham khảo tại đây.

Sử dụng tcpdrop để ngắt một kết nối TCP:
Ví dụ ở đây mình thiết lập 2 kết nối TCP bằng cách SSH tới Server như kết quả sau
# netstat –an|grep EST
solaris-tcpdrop-03
Thử ngắt kết nối thứ hai bằng công cụ tcpdrop
# tcpdrop 192.168.2.129 22 192.168.2.10 1435
solaris-tcpdrop-04
Trong đó:
  • 192.168.2.129 là địa chỉ IP của Server
  • 22 là TCP port của dịch vụ SSH trên Server
  • 192.168.2.10 là địa chỉ IP của Client
  • 1435 là port mà SSH client lắng nghe.
Sau khi Drop kết nối xong, chúng ta kiểm tra lại bằng lệnh netstat thấy ết nối thứ hai đã bị mất!
# netstat –an | grep EST
solaris-tcpdrop-05
Ở SSH client báo lỗi do bị ngắt kết nối.
solaris-tcpdrop-06

Cài đặt Active Directory trên Windows Server 2008


Microsoft Active Directory cung cấp cấu trúc quản lý mạng tập trung và cất giữ thông tin về tài nguyên mạng qua toàn bộ Domain. AD sử dụng Domain Controller để tập trung lưu trữ mạng có sẵn cho người dùng trong mạng.

Để cấu hình một máy tính Windows Server 2008 hoạt động như một Domain Controller (DC) có một vài cân nhắc và những tiền để để yêu cầu được đưa vào tài khoản và một số bước cần được thực hiện. Trong bài viết này tôi sẽ hướng dẫn các bạn qua những tiền đề này và tạo ra một bước mới của Windows Server 2008 Domain Controller cho một tên miền mới trong một Forest mới.

Xem xét khi cài đặt Windows Server 2008 Forest mới

Khi bạn cài đặt AD để tạo DC đầu tiên trong Windows Server 2008 Forest mới, bạn phải xem xét các điều kiện sau:

- Bạn phải quyết định chức năng của Forest và Domain đó là xác định xem Forest và Domain có thể chứa DC chạy Windows server 2000, Windows Server 2003 hoặc cả hai.
- DC chạy hệ điều hành Microsoft Windows NT Server 4.0 sẽ không được hỗ trợ với Windows Server 2008.

- Server chạy Windows NT Server 4.0 không được hỗ trợ bởi DC chạy Windows Server 2008, có nghĩa là bạn phải có thêm DC chạy Windows 2000/2003 để hỗ trợ máy chủ Windows NT Server 4.0 .
- Windows Server 2008 DC đầu tiên trong Forest phải là Global catalog Server và nó không được chứa RODC.

Xem xét khi cài đặt mới domain Windows Server 2008 trong Windows 2000/2003 Forest hiện tại.

Khi bạn cài đặt AD để tạo kiểm soát đầu tiên trong một tên miền mới Windows Server 2008 bạn cần phải ghi nhớ các điểm xem xet sau:

- Trước khi bạn tạo một tên miền Windows Server 2008 trong một Forest Windows 2000/2003, bạn cần phải chuẩn bị Forest cho Windows Server 2008 bằng cách mở rộng các schema (có nghĩa là bằng cách bạn chạy ADPREP / forestprep).
- Bạn phải xác định xem nên quyết định mức độ chức năng của tên miền, tên miền của bạn có thể chứa tên miền điều khiển chạy Windows 2000 Server, Windows Server 2003 hoặc cả hai.
- Tôi khuyên bạn nên lưu trữ các PDC emulator hoạt động trong vai trò chính của tên miền Forest gốc trên một tên miền điều khiển chạy Windows Server 2008.
Cài đặt Active Directory Domain Services (AD-DS)

Trong Windows Server 2008, không giống như các điều hành server khác, trong windows server 2008 cần có thêm một bước cần phải làm trước khi chạy DCPROMO để thăng máy chủ tới DC và cài đặt Active Directory trên nó. Bước này là bạn cần phải cài đặt tên miền của Active Directory Services (AD-DS) đóng vai trò máy chủ. Trong thực tế, vai trò của AD-DS là những gì để server cho phép hoạt động như một Domain Controller, nhưng bạn sẽ vẫn cần phải chạy DCPROMO theo cách thông thường.
AD - DS có thể được cài đặt một trong 3 phương pháp.

Phương pháp 1: Server Manager/Initial configuration Tasks

Vai trò có thể và cần được cập nhật từ Server Manager (nhưng chúng cũng có thể được bắt đầu từ những bước Configuration Tasks wizard chung mà nó mở ra tự động khi lần đầu tiên bạn đăng nhập vào máy chủ).

1. Mở Server Manager bằng cách click vào biểu tượng trên thanh công cụ Quick Launch hoặc từ thư mục Administrative tools.

2. Bạn đợi cho đến khi nó load hết các thành phần và sau đó click vào liên kết Roles > Add Roles.


3. Trước cửa sổ bắt đầu bạn click Next.


4. Trong cửa Select Server Roles, bạn click vào Active Directory Domain Services và sau đó click Next.


5. Tiếp theo trong cửa sổ Active Directory Domain Services bạn đọc lại các thông tin nếu bạn muốn và sau đó click Next.


6. Trong cửa sổ Confirm Installation Selections bạn click Next.


7. Bạn đợi cho đến khi quá trình hoàn thành.


9. Quay trở lại Server Manager, bạn click vào liên kết Active Directory Domain Services và chú ý ở đây không có thông tin về liên kết tới nó, bởi vì lệnh DCPROMO vẫn chưa được chạy.


Bây giờ Active Driectory Server của bạn vẫn chưa hoàn thoàn cài đặt thành công, Servies vẫn chưa thể được Start

10. Bây giờ ta tiếp tục click lên liên kết DCPROMO.

Active Directory Domain Services Installation Wizard sẽ xuất hiện ngay lập tức hoặc sau một thời gian ngắn. Click vào Next.


Trong cửa sổ Operation system compatibility bạn đọc các thông tin cung cấp và click Next.


Tiếp theo là cửa sổ Choosing Deployment Configuration click vào "Create a new domain in a new forest" và sau đó click Next.


Nhập tên domain thích hợp, bạn phải đảm bảo rằng bạn chọn đúng tên miền. Việc thay đổi tên miền sẽ là việc bạn sẽ không muốn thực hiện hàng ngày. Click vào Next.
Chú ý: Bạn cần gõ domain đúng cấu trúc. Ví dụ khanh.com.vn là một tên đúng.Không gõ là khanh hay một tên nào đó không có phần "."
Hệ thống sẽ thực hiện việc kiểm tra xem nếu không phải là tên miền đã được sử dụng trên mạng local.
Tiếp theo là cửa sổ Set Forest Functional Level, Windows 2000 mode là chế độ mặc định và nó cho phép thêm Windows 2000, Windows Server 2003 và Windows Server 2008 DC tới Forest mà bạn đang tạo.


Trong cửa sổ Set Domain Functional Level thì chế độ Windows 2000 Native Mode sẽ là mặc định và nó cho phép thêm Windows 2000, Windows Server 2003 và Windows Server 2008 DC tới domain bạn đang tạo.

Chú ý: nếu bạn chọn Windows Server 2008 của chức năng level forest, bạn sẽ không được nhắc để lựa chọn chức năng của Domain level.

Hệ thống sẽ thực hiện kiểm tra xem nếu DNS được cấu hình đúng trên mạng Local. Trong trường hợp này, không có DNS server đã được cấu hình, do đó các thuật sĩ sẽ cung cấp để tự động cài đặt DNS trên máy chủ này.

Chú ý: DC đầu tiên ngoài ra còn phải là Global Catalog và DC đầu tiên trong Forest không thể là Read Only Domain controller.

Có nhiều khả năng bạn sẽ nhận được một cảnh báo cho rằng máy chủ có một hoặc nhiều địa chỉ IP động. Chạy IPCONFIG / sẽ hiển thị tất cả, bởi vì như bạn có thể nhìn thấy rõ ràng, tôi có một máy phục vụ cho các địa chỉ IP tĩnh. Vì vậy, câu hỏi là tại sao lại có cảnh báo như vậy? Câu trả lời là IPv6. Tôi không tự cấu hình địa chỉ IPv6, vì vậy sẽ cảnh báo này. Trong một mạng, nơi IPv6 không được sử dụng, bạn có thể yên tâm bỏ qua cảnh báo này.



Rất có thể bạn sẽ nhận được một cảnh báo về DNS. Vì không biết đã có DNS được cấu hình chưa, bạn có thể bỏ qua cảnh báo này và click Yes.

Tiếp theo, thay đổi đường dẫn cho cơ sở dữ liệu của AD file log và thư mục SYSVOL. Để triển khai số lượng lớn, bạn cần phải cẩn thận với kế hoạch cấu hình DC của bạn để có được hiệu suất tối đa. Nếu đã hài lòng bấm vào Next.


Nhập mật khẩu cho Active Directory Recovery Mode. Mật khẩu này phải được giữ bí mật và bởi vì nó thường xuyên trợ giúp trong khi mật khẩu người dùng hết hạn (dựa trên các chính sách mật khẩu cấu hình cho tên miền, mặc định là 42 ngày). Điều này được áp dụng mật khẩu phức tạp và ít nhất 7 ký tự. Tôi khuyến cáo bạn không nên sử dụng thường xuyên của mật khẩu quản trị. Click Next.

Trong cửa sổ Summary bạn kiểm tra lại các lựa chọn của bạn và nếu yêu cầu bạn có thể lưu chúng ra thành file Unattend,sau đó click Next.

Hệ thống sẽ bắt đầu tạo Active Directory, và khi hoàn tất bạn sẽ cần phải Click vào Finish và khởi động lại máy tính của bạn.

Lưu ý: Bạn có thể tự động hoá trong quá trình khởi động lại bằng cách chọn vào ô Reboot on Completion.

Ngoài ra bạn có thể cài đặt Active Directory bằng cách sử dụng file trả lời tự động.

Bây giờ server của bạn đã hoạt động như là một Domain Controller. Bạn có thể thử nghiệm bằng cách sử dụng chức năng công cụ quản lý của AD như là: Active Directory Users and Computers, kiểm tra Event Logs, dịch vụ, thư mục và shares đã được tạo ra.

Cài đặt PHP Manager cho IIS 7.x


Trong bài viết trước Chạy PHP trên IIS7 sử dụng FastCGI mình đã có hướng dẫn cài đặt PHP trên IIS, tuy nhiên để cấu hình, tinh chỉnh Mod PHP đó bạn phải dùng Command Line hoặc thông các tập tin cấu hình. Trong bài viết này, mình sẽ trình bày cách cài đặt và cấu hình PHP với giao diện đồ họa người dùng (GUI) sử dụng PHP Manager for IIS.
Hiện tại PHP Manager for IIS vẫn ở phiên bản beta, được phát hành vào ngày 29/08/2010. Các bạn có thể download tại đây

Chú ý:
  • Các phiên bản hệ điều hành hỗ trợ: Windows Server 2008/R2, Windows 7, Windows Vista
  • Đã cài đặt IIS 7.0 (hoặc mới hơn) với Mod CGI
  • Đã có bộ mod PHP (tùy phiên bản)
Khi bạn đã tải PHP Manager for IIS ở link trên, hãy cài đặt nó, sau đó trong IIS của bạn sẽ có một phần mới như hình dưới đây

Tiếp tục, để đăng ký PHP với IIS bạn cần tải mod PHP về tại http://windows.php.net và giải nén vào một thư mục tùy chọn hoặc bạn cũng có thể cài đặt mod này thông qua Web Platform Installer.
Sau đó mở PHP Manager for IIS lện, click chọn Register new PHP version và chọn đường dẫn tới file php-cgi.exe bạn vừa giải nén ở bước trên



Sau khi Click OK, thì phiên bản PHP bạn chọn sẽ được đăng ký với IIS.
Chuyển qua/lại các phiên bản PHP:
Nếu bạn cài nhiều phiên bản PHP trên máy, bạn sẽ dễ giàn chuyển đổi qua lại giữa các phiên bản này, bằng cách sử dụng Change PHP version


Checking phpinfo() output
phpinfo() là mã php cung cấp các thông tin chi tiết về việc cấu hình PHP trên máy của bạn. Bạn có thể kiểm tra điều này bằng cách bấm vào Check phpinfo()

Configuring Error Reporting
Bạn cũng có thể dùng PHP Manager for IIS để cấu hình các mức trường thuật lỗi phát sinh trong quá trình chạy website PHP

Configuring Runtime Limits
Với PHP Runtime Limits bạn có thể thay đổi các giới hạn về độ lớn bộ nhớ, thời gian time out của PHP.

Configuring All PHP Settings
Các thông tin cấu hình khác bạn có thể tinh chỉnh bằng cách sử dụng PHP Settings

Enabling or Disabling PHP Extensions


Đồng bộ hóa dữ liệu trên 2 Server sử dụng DFS Replication

Mô hình thiết lập hai Domain Controller chạy song song, đồng thời cũng là 2 file server có khả năng đồng bộ hóa dữ liệu cho nhau. Khi một trong 2 File Server chết, thì Server kia sẽ tiếp tục giữ kết nối với client, đảm bảo dữ liệu có tính sẵn sàng cao. Đồng thời có thể được áp dụng cho việc cân bằng tải, giảm bớt gánh nặng truy xuất lên một File Server.
Các bước thực hiện chính:
  • Nâng Server 1 lên thành Domain Controller.
  • Thiết lập Secondary Domain Controller trên Server 2.
  • Cài đặt File Server, Distributed File System trên Server 1 và Server 2.
  • Cấu hình DFS Namespaces và DFS Replication trên Server 1.
  • Testing...

Trong bài này, Server 1 sẽ có tên là kenhgiaiphap01 với IP là 184.0.18.142 và Server 2 có tên là kenhgiaiphap02 với IP là 14.0.18.143
1) Nâng Server 1 lên thành Domain Controller:
Cấu hình IP của Server 1 như sau


Để nâng lên DC, vào RUN -> gõ DCPROMO


Chờ một lát, ở màn hình Welcome hiện ra nhất Next


Hộp thoại Operating System Compatibility chọn Next


Hộp thoại Choose a deployment configuration chọn Create a new domain in a new forest, đây là máy domain đầu tiên trong hệ thống


Nhập tên miền. Ở đây mình lấy là kenhgiaiphap.vn


Nhập NetBIOS Name và nhấn Next


Tiếp tục nhấn Next


Nhấn Next


Hộp thoại Additional domain controller options, chọn DNS server, lick next


Hộp thoại thông báo trong hệ thống chưa có DNS,  chọn Yes để tiếp tục


Chọn Next


Tiến hành nhập Password và nhấn Next


Nhấn Next


Chờ một lúc cho quá trình cài đặt kết thúc. Sau đó khởi động lại Server


2) Thiết lập Secondary Domain Controller:
Cấu hình địa chỉ IP Server 2 như sau. Điền Preferred DNS server là IP của Server 1


Tiến hành Join Server 2 vào Server 1


Join thành công, ta khởi động lại Server 2


Sau khi khởi động Server 2 trở lại, ta tiến hành Login bằng Domain User. Ví dụ ở đây mình log on bằng user: KENHGIAIPHAP\Administrator
Tiếp tục vào RUN DCPROMO để nâng Server 2 lên thành một Domain Controller thứ 2.Ở màn hình Welcome ta chọn Next


Chọn Next


Chọn Existing forest --> chọn Add a domain controller to an existing domain


Trong Network Credentials nhập tên miền kenhgiaiphap.vn


Chọn domain và nhấn Next


Nhấn next


Hộp thoại Additional domain controller options, check vào Dns ServerGlobal catalog rồi nhấn Next


Bấm Yes


Hộp thoại Install from media ta chọn vào ô Replicate data over the network from an existing domain controller


Hộp thoại Source domain controller, ta chọn vào ô Use this specific domain controller và chọn domain kenhgiaiphap01.kenhgiaiphap.vn


Nhấn Next


Nhập mật khẩu và nhấn Next


Nhấn next


Chờ một lát cho quá trình cài đặt hoàn tất và khởi động lại server 2


3) Cài đặt File Server, Distributed File System trên Server 1 và Server 2:
Trên 2 Server ta vào Server Manager để Add một Role mới là File Services


Nhấn Next


Chọn cài đặt Distributed File System gồm DFS Namespaces và DFS Replication


Chúng ta sẽ tiến hành thiết lập sau. Vì thế chọn Create a namespace later using DFS Managemnet snap-in in Server Manager


Bấm Install


Cài đặt xong, ta nhất Close


4) Cấu hình DFS Namespaces và DFS Replication trên Server 1:
Bung Role --> File Services --> DFS Managemet
Nhấn phải chuột vào Namespaces và chọn New Namespace


Hộp thọa hiện ra, ta nhấn Browser và add vào Server 1 là kenhgiaiphap01


Hộp thoại kế tiếp, Namespace name and setting : khai báo tên folder chứa dữ liệu sẽ public trong hệ thống cho user truy cập lấy tài nguyên cũng như lưu trữ dữ liệu…Sau đó chọn mục Edit Setting


Chọn Use custom permission --> Customize


Cho Everyone quyền Full Controll


Trở về hộp thoại Namespace name and setting chọn Next


Chọn CREATE


Tạo Namespace mới thành công, ta nhấn Close


Tiếp tục, ta nhấn chuột phải lên Namespace mới vừa tạo và chọn Add Namespace Server



Nhấn Edit Settings


Chọn User custom permissions --> Customize


Cho Everyone quyền Full Control


Nhấn Ok --> OK và đợi một lát để hệ thống kiểm tra. Nếu thành công, ta sẽ có kết quả như hình dưới đây.


Tiếp tục, ta nhấn phải chuột lên Replication và chọn New Replication Group...


Hộp thoại Replication Group Type, ta đánh dấu chọn Multipurpose replication group và lick next


Nhập tên của Relication này và nhấn Next


Click Add và thêm vào 2 thành viên là kenhgiaiphap01 và kenhgiaiphap02


Hộp thoại Topology Selection, ta chọn Full Mesh rồi click Next


Hộp thoại Replication Group Schedule and Bandwidth:
  • Bạn có thể lựa chọn băng thông khi các máy server đồng bộ dữ liệu (replication) và lập lịch replication.
  • Chọn Replicate continuously using the specified bandwidth: Full (cho phép đồng bộ dữ liệu 24g trong ngày và 7 ngày trong tuần với băng thông Full)


Chọn 1 trong 2 server làm Primary


Hộp thoại Folder to Replicate hiện ra, ta chọn ADD và chọn tới thư mục gốc chứa các thư mục được Replicate


Chọn Custom permission --> Edit Permissions...


Thêm vào 2 User là Domain Users Creator Owner. Ta tiến hành phân quyền cho Domain Users quyền đọc và ghi, Creator Owner quyền Full Controll


Trở lại cửa sổ Folder To Replicate chọn Next


Chọn thành viên Kenhgiaiphap02 và nhấn Edit


Chọn Enable --> Cho biết đường dẫn chứa thư mục gốc của các replicate Folder --> OK


Trở lại cửa sổ Local Path of DFSRoots on Other Members và chọn Next


Kiểm tra lại thông tin lần cuối và nhấn Create


Nếu cài đặt thành công thì sẽ có kết quả như hình dưới đây.


Cửa sổ Confirmation bảo đảm Success hiện ra, ta chọn Close


Kết quả cấu hình


5) Testing...
Trong Mục Data của Server Kenhgiaiphap01 ta tiến hành thử tạo 1 file Text với tên server1_created.txt.
Trong Mục Data của Server Kenhgiaiphap02 ta tiến hành thử tạo 1 file Text với tên server2_created.txt.
==> Kết quả ở mục Data của 2 Server đều có cả 2 file server1_created.txt và server2_created.txt


Quá trình cài đặt và cấu hình như vậy là đã thành công, các bạn có thể áp dụng để triển khai đồng bộ dữ liệu trên 2 File Server, Webserver,...