|
|
Đã update phần 2 và phần 3 .
Mời các kháng giả đón đọc phần 4
|
|
|
Em sữa rồi đó ạ máy bác trong này bắt bẻ ghê quá .
Check lại rồi báo em biết có sai nữa không để còn sữa nhé .
Với lại , em thấy kiểu bác quanta "châm" không thoải mái chút nào . Viết sai thì bảo sai thôi , cần gì phải tỏ ra bộ mặt nghiêm túc quá đáng để làm gì vậy bác . Làm mất hết cả hứng thảo luận của người ta
|
|
|
Thứ 1 là theo em biết thì MySQL Cluster với MySQL Replication là 2 kỹ thuật khác nhau hoàn toàn, vậy bác nói "thích hợp" ở đây là sao nhỉ smilie
Sorry , gõ thiếu dấu chấm .
Đánh giá ở thời điểm này tôi thấy MySQL Cluster 6.2.15 rất ổn định và thích họp với các nhu cầu của HA. Và dùng Mysql replication cho mô hình MASTER/SLAVE cu~ng to^'t .
Thứ 2 là nếu ta chỉ dùng DRDB mà ko dùng Heartbeat thì khi server chính die thì server backup còn lại sẽ ko tự động up lên thay thế mà ta phải làm manually việc này đúng ko bác ?
Đúng vậy . Cho nên có HB thì tốt hơn nhiều
|
|
|
giobuon wrote:
Cho mình hỏi là tại sao bạn lại triển khai MySQL với DRBD. Tại sao lại không dùng MySQL cluster?
Mình có tìm qua thấy có nơi bảo rằng giải pháp MySQL cluster rất tốn kém, nhưng mình thấy nó cũng free đấy chứ.
Có ai có thể so sánh qua về ưu và nhược điểm của hai kiểu triển khai này với nhau không?
Không phải là MySQL dỏm. Từ trước đến giờ tôi vẫn thích nó lắm , dùng dòng 5.0 thì rất bất ổn định, từ 5.1 thì tốt hơn 1 chút . Đánh giá ở thời điểm này tôi thấy MySQL Cluster 6.2.15 rất ổn định và thích họp với các nhu cầu của HA khi dùng Mysql replication cho mô hình MASTER/SLAVE .
Còn tại sao tôi viết bài DRDB với Mysql thì vì mới đây tôi vừa làm nên còn log để đưa lên cho mọi người tham khảo và cũng làm log cho cá nhân tôi .
Vụ so sánh nhược điểm của hai cái này thì thú thật không dám nói vì tôi dùng DRDB không nhiều nên không biết .
|
|
|
Ứng dụng Heartbeat và DRDB cho Mysql (Phần 1)
Là một giải pháp khá phổ biến hiện nay là dùng DRBD để cấu trúc hệ thống HA Cluster cho Mysql . Có thể hiểu , DRBD là chương trình cho phép ta xây dựng RAID1 thông qua mạng . Nói dể hiểu hơn 1 chút thì DRBD là chương trình dùng mạng để đồng bộ dữ liệu partition của HD . Vì vậy , thật ra không cần phải là Mysql, khi xây dựng xong chương trình này, ta sẽ có thể ứng dụng cho apache , mail , ftp , ldap vv… . Với nhu cầu của thành viên HVA nênbài viết này đặt trọng tâm ứng dụng DRBD cho Mysql .
Cấu hình DRBD yêu cầu ta tạo các phần vùng meta data để quản lý phần vùng và tạo phần vùng chứa dữ liệu .
Cài đặt
# yum –y drbd kmod-drbd
Tạo 2 tất cả là 2 phần vùng tại HD /dev/sdb như sau ,
# fdisk /dev/sdb
/dev/sdb1 – Meta data (128M hoặc 256M)
/dev/sdb2 – Data
Chú ý : Để tránh tình trạng lãng phí tài nguyên giải quyết domain , nên cấu hình/etc/hosts tương ứng cho mạng LAN của bạn .
Sau khi fdisk xong , sẽ có kết quả như sau
コマンド (m でヘルプ): p
Disk /dev/sdb: 73.4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sdb1 1 65 522081 83 Linux
/dev/sdb2 66 8924 71159917+ 83 Linux
Copy file /usr/share/doc/drbd/drbd.conf vào /etc/ như sau
/etc/drbd.conf
resource d0 {
protocol C;
startup {
degr-wfc-timeout 120; # 2 minutes.
}
disk {
on-io-error detach;
}
net {
}
syncer {
rate 500M;
al-extents 257;
}
on hvaonline.net {
device /dev/drbd0;
disk /dev/sdb2;
address 192.168.10.10:7788;
meta-disk /dev/sdb1[0];
}
on hvaonline.net {
device /dev/drbd0;
disk /dev/sdb2;
address 192.168.10.11:7788;
meta-disk /dev/sdb1[0];
}
}
Ý nghĩa của các thông số có ý nghĩa như sau ,
Resource : Đặt tên cho resource .
Protocol : Hãy chọn option này là C . Vì trong readme nó ghi vậy .
C: write IO is reported as completed, if we know it has
reached _both_ local and remote DISK.
* for critical transactional data.
B: write IO is reported as completed, if it has reached
local DISK and remote buffer cache.
* for most cases.
A: write IO is reported as completed, if it has reached
local DISK and local tcp send buffer. (see also sndbuf-size)
* for high latency networks
**********
# uhm, benchmarks have shown that C is actually better than B.
# this note shall disappear, when we are convinced that B is
# the right choice "for most cases".
# Until then, always use C unless you have a reason not to.
# --lge
#**********
on-io-error : Xử lý khi bị I/O error
pass_on : Report the io-error to the upper layers. (chưa hiểu lắm )
call-local-io-error : Chạy script mang tên call-local-io-error
detach : The node drops its backing storage device, and continues in disk less mode. (Chưa hiểu lắm)
Đọc module của drbd
lsmod |grep drbd
modprobe drbd minor_count=1
Kết quả khi nhúng drbd vào .
# modinfo drbd
filename: /lib/modules/2.6.9-42.ELsmp/kernel/drivers/block/drbd.ko
author: Philipp Reisner , Lars Ellenberg
description: drbd - Distributed Replicated Block Device v8.0.7
license: GPL
parm: minor_count:Maximum number of drbd devices (1-255)
alias: block-major-147-*
parm: allow_oosONT USE!
license: GPL
author: Evgeniy Polyakov
description: Generic userspace <-> kernelspace connector.
parm: cn_idx:Connector's main device idx.
parm: cn_val:Connector's main device val.
vermagic: 2.6.9-42.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4
Tạo metadata.(chạy trên cả 2 máy chủ . )
# drbdadm create-md d0
Khởi động và kiểm tra như sau . (chạy trên cả 2 máy chủ )
# drbdadm up all
# cat /proc/drbd
# service drbd start
Vào host 192.168.10.10, dùng lệnh sau để thành primary
#drbdadm -- --overwrite-data-of-peer primary all
-> Phần 2 : Tạo filesystem cho 2 node
Tại bước này , sẽ tạo file system và mount nó theo các trình tự sau
Tại Primary : 192.168.10.10
# mke2fs -j /dev/drbd0
Mount /dev/drdb0 đã tạo
#mkdir /mnt/drbd
#mount /dev/drbd0 /mnt/drbd/
Xong bước này xem như đã có sẵn những thứ cần thiết để đồng bộ dữ liệu .
Thử failover bằng tay như sau
tại Primary node : 192.168.10.10
# umount /mnt/drbd/
# drbdsetup /dev/drbd0 secondary
Tại Secondary node : 192.168.10.11
# drbdsetup /dev/drbd0 primary
# mount /dev/drbd0 /mnt/drbd/
Cuối cùng , tạo một file nào đó và xem phía primary:192.168.10.10 có tồn tại nó hay không .
-> Phần 3 : Setup Mysql để đồng bộ dữ liệu .
1. Cài đặt mysql -> Tìm trên HVA
2. cấu hình mysql
Phần này là dễ nhất , bạn chỉ cần ấn định tại basedir vào dưới directory /mnt/drdb là xong .
Ví dụ file cấu hình .
# Example MySQL config file for medium systems.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir=/mnt/drbd/data
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
# Replication Master Server (default)
# binary logging is required for replication
log-bin
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
-> Phần 4 : Dùng heartbeat để giám sát 2 máy chủ .
Đón đọc và làm thử post kết quả lên cho vui nha bà con
|
|
|
hoahongtim wrote:
Thanks, bài viết rất hay nhưng hình như bác tranvanminh thiếu phần hướng dẫn cài đặt keepalived rồi thì phải
Đã thêm
|
|
|
Bài viết này nhằm đưa ra giải pháp cho các nhu cầu cấu trúc hệ thống có tính khả dụng cao . Tại đây sẽ lấy ví dụ mô hình như sau .
bmuht_gpj.76252_1fb32460040c0b1dad24a4f57a46a732/6/11/8002/daolpu/enilnoavh/ten.enilnoavh.www//:ptth
Tính năng của hệ thống này chỉ có việc khi khách hàng (User PC) kết nối đến yêu cầu WEB cung cấp dữ liệu , WEB server có nhiệm vụ lấy các dữ liệu được lưu trong LDAP server và hiển thị cho khách hằng . Hoặc có thể Update dữ liệu của khách hàng . Như vậy trong mô hình này , sự lien kết giữa WEB Server, LDAP server là việc tất yếu , và đồng thời giữa các LDAP server với nhau cũng có giải pháp liên kết nào đó với nhau.
Giám sát hệ thống
Các bài viết về WEB server thì đã có nhiều người đề cập đến , nhưng đôi khi mô hình chỉ gói trọn vào 2 hoặc 3 server với nhau là đa số . Tại bài viết này, ta sẽ tham khảo cách cấu hình cho chương trình giám sát keepalived . Không chỉ riêng 2 hoặc 3 máy chủ , nếu bạn có nhu cầu , bạn có thể áp dụng vào hơn vài chục máy chủ để cung cấp các dịch vụ như apache , mysql , ldap .Tại ví dụ bên dưới , ta sẽ cấu hình cho keepalived (VRRP)giám sát các máy chủ được thiết lập dịch vụ LDAP . Tuy nhiên , như đã đề cập bên trên, bạn chỉ cần thay đổi vài dòng thôi cũng sẽ áp dụng cho cách dịch vụ khác.
Từ mô hình trong ví dụ trên , ta sẽ thiết lập tính năng giám sát khi LDAP1- MASTE chết , trong vòng 1 giây sẽ tự động chuyển LDAP2-SLAVE thành LDAP2 – MASTER . Thêm vào đó, sẽ gửi email đến conmale@hvaonline.net .
Cấu hình keepalived .
1. Cài đặt OpenLdap, Apache (Tham khảo các bài khác trong diễn đàn HVA)
2. Install & Cấu hình keepalived
# cd /usr/local/src
# tar zxf keepalived-1.1.15.tar.gz
# cd keepalived-1.1.15
# ./configure
# make
# make install
# cd /etc/init.d
# cp /usr/local/src/keepalived-1.1.15/keepalived/etc/init.d/keepalived.rh.init keepalived
Sau khi cài đặt thành công keepalived , ta xem những thông số ? cấu hình của chúng có những chức năng gì và hoạt động như thế nào .
/etc/keepalived/keepalived.conf
global_defs {
notification_email {
conmale@hvaonline.net
}
notification_email_from keepalived@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id MY_LDAP
}
Trước tiên là global_dfs . Tại đây ta có thể ấn định những thông tin có đặt tính là "global" . Những thông số này có đặc điểm như sau . Ví dụ trong notification_email , ta có thể chỉ định địa chỉ email của người chịu trách nhiệm quản lý . và quan trọng là router_id , theo giải thích trên trang web chính thức của chương trình , thì thông số này là định nghĩa cluster ID . Cũng có thể hiểu là đạt đại cho vui!
--------------------
vrrp_instance LDAP {
state BACKUP
interface eth2
garp_master_delay 5
virtual_router_id 200
priority 100
advert_int 1
nopreempt
smtp_alert
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.223.33/25 dev eth2
}
notify_master "/etc/keepalived/ldap.sh active"
notify_backup "/etc/keepalived/ldap.sh backup"
notify_fault "/etc/keepalived/ldap.sh backup"
notify "/etc/keepalived/ldap.sh status"
}
Tiếp theo là ấn định VRRP instance . Block này có ý nghĩa là dùng cấu trúc cho những router ảo trong VRRP. Nếu khó hiểu thì bạn hiểu là cấu hình chổ này là quan trọng nhất trong chương trình này và tìm hiểu các option bên dưới . Các option mang đặc tính như sau :
state <MASTER/SLAVE> : Cho server chạy bằng MASTER hay SLAVE . MASTER có nghĩa là máy cung cấp dịch vụ , còn SLAVE là máy backup .
interface : Ấn định trên của NIC . Thông thường bạn dùng linux với mục đích server , sẽ có 2 NIC . trong ví dụ này tôi dùng eth2 .
garp_master_delay : Khi server được nâng cấp lên trạng thái MASTER, sẽ có packet ARP báo delay .
priority : Thông thương MASTER sẽ có số cao hơn SLAVE .Có thể dung từ 0 ~ 255 . Và những máy chủ có thong số priority cao sẽ tự động thành chế độ MASTER .
nopreempt : Không dùng chế độ Preemt của VRRP . Khi ta tắt chế độ này, mấy chủ nào mang số priority thấp được nâng thành MASTER cũng không trở về trạng thái SLAVE . Cũng có thể hiểu là , không bị những máy có priority cao dành chế độ MASTER . Phần này khá quan trọng nên xin được thêm vài dòng ,
ví dụ : Khi hệ thống được cấu hình và đưa vào hoạt động 1 thời gian , trong khi đó LDAP1 default là MASTER, và LDAP2 dùng với SLAVE . Nhưng khi LDAP1 bị sự cố và bổng nhiên bị tắt , keepalived sẽ chạy các script như ta đã cấu hình , trong môi trường của bài viết , là khi LDAP1 bị teo thì LDAP2 sẽ chạy file cấu hình (slapd.conf) mang chức nang MASTER để trở LDAP2 trở thành MASTER. Nhưng khi thực hiện việc này sẽ có sự xung đột . Các server SLAVE thông thường sẽ mang số priority thấp hơn MASTER , vì vậy khi SLAVE được keepalived nâng cấp lên thành MASTER khi LDAP1 là MASTER bị chết , thì vẫn có khả năng tụt xuống lại vì priority thấp . Do đó ta cần phải dùng nopreempt : .
advert_int : Theo dõi sống chết giữa các máy chủ có khoảng cách bào nhiêu giây đều có thể ghi tại option này . Ví dụ tại bài viết này là 1 giây .
virtual_ipaddress : IP của nhóm server MASTER và SLAVE . Tất cả các máy LDAP tại bài viết này đều có 1 IP là 192.168.223.33 . Giải thích them một chút nữa thì network này mang subnet là 25 .
notify_master <CMD> : Khi keepalived khẳng định LDAP1 đã chết , sẽ tự động chuyển LDAP2 thành master . Trong khi đó , tại option này ta có thể định nghĩa script khởi động cho LDAP2 .
notify_backup <CMD> : Khi keepalived khẳng định LDAP1 là MASTER , sẽ tự động chuyển LDAP2 thành SLAVE . Trong khi đó , tại option này ta có thể định nghĩa script khởi sang trạng thái slave cho LDAP2 .
Cuối cùng là tạo script
/etc/keepalived/ldap.sh
#!/bin/bash
// Set path đến openldap directory
LDAP_CONFDIR="/usr/local/openldap/etc/openldap"
case "$1" in
active)
logger ">>active"
// Chạy đến directory của LDAP
cd $LDAP_CONFDIR
// Đổi file config slave thành master
ln -sf slapd.conf.master slapd.conf
logger "result $?"
// Ngừng dịch vụ SLAVE
service slapd stop
// Chạy dịch vụ MASTER
service slapd start
logger "<<active"
;;
backup)
logger ">>backup"
cd $LDAP_CONFDIR
ln -sf slapd.conf.slave slapd.conf
logger "result $?"
service slapd stop
service slapd start
logger "<<backup"
;;
status)
logger ">>status"
logger "<<status"
;;
fault)
logger ">>fault"
logger "<<fault"
;;
esac
Đọc đến đây chắc bạn sẽ thắc mắc việc làm sao cấu hình keepalive trên LDAP1 và LDAP2 . Có cần thay đổi những trong số trong file config hay không ?
Tại ví dụ này , trong file config của keepalived bạn có thể copy & paster nguyên nội dung sang các server bạn cần làm backup . (LDAP1 và LDAP2) File cấu hình trong ví dụ có tính năng giảm tỷ lệ down cho hệ thống bạn . Vì vậy khi dùng 2 máy chủ trở lên , bạn chỉ cần cấu hình keepalived giống nhau, thì bạn sẽ có một hệ thống 1 máy LDAP cung cấp dịch vụ , nhưng khi LDAP đó chết , sẽ có nhiều máy backup chạy thay thế .
Các điểm cần chú ý khi cấu hình dịch vụ
1. Ví dụ mysql , bạn phải thêm chức năng đồng bộ giữ liệu .
2. Ví dụ apache , bạn chỉ cần cấu hình 2 server apache giống nhau , chắc nó sẽ chạy (vì tui chưa làm)
3. Ví dụ LDAP , cũng giống như mysql . Keepalived chỉ cung cấp dịch vụ giám sát chết/ sống và start và restart các script ta đã ấn định . Do đó , để chạy được dịch vụ đúng nghĩa của LDAP , bạn cần phải cấu hình LDAP riêng để giữa các máy chủ LDAP đồng bộ dữ liệu .
4. Để chạy được VRRP, bạn phải điều chỉnh firewall .
Tham khảo thêm về các thuật ngữ :
VRRP : http://www.quantrimang.com.vn/hethong/linux/35521_Su_dung_VRRP_tren_Linux_nang_cao_kha_nang_san_sang_cho_mang.aspx
keepalived : http://www.keepalived.org/pdf/UserGuide.pdf
777
|
|
|
Hê lô anh em .
Cám ơn mấy chú bác ủng hộ bài viết trên kia của thằng em , cũng muốn viết tiếp lắm nhưng vì lúc trước đang viết giữa chừng thì bị mất hàng (kô hiểu lý do) nên mất hết history . Muốn quay vào copy lại mấy cái lệnh và log cũng không được, đó là lý do thằng em không viết tiếp nữa . Thành thật cáo lỗi cùng mọi người .
Bởi từ nhũng lý do trên, chủ đề này sẽ không tiếp tục theo xu hướng trước (cái list đầu tiên ) nữa , mà chỉ sẽ tập trung viết những giải pháp về LB mà thôi .
Dạo này mới quay lại làm việc nên có chút log, copy&paster lên cho anh em sơi ,Đi đọc nhiều mà về viết dài dòng rồi giải thích linh tinh thì dễ bị sai ý nên thằng em viết bài lúc nào cũng cùng một mục đích là "mì ăn liền" . Ai hiểu gì thì hiểu nhen , không ép
Chương trình tiếp theo sẽ là "Sử dụng keepalived để giám sát hệ thống ".
|
|
|
alexy wrote:
Chào anh em, mình đang config openLdap trên FreeBSD mình muốn hỏi là lỗi :
Ldap_bind : can't contact to Ldap server
Lỗi này xuất hiện sau khi mình đánh lệnh:
#ldapmodify -D "cn=alexy,dc=abc,dc=com" -W -x -a -v -f ceh.ldif
mong các anh em hồi đáp sớm, thanks.
Tui thấy nếu bạn học linux thì làm mấy cái như DHCP , DNS , FTP gì đó cho dễ hiểu .
Chứ chơi LDAP 1 phát từ ban đầu mau chán lắm
|
|
|
Chào bạn .
Tìm việc ở Nhật việc quan trọng không kém khả năng đó là ngôn ngữ . Nếu khả năng tiếng Nhật của bạn khá thì có thể vào các công ty trên findjob . Hoặc nếu bạn chưa thạo TN thì chắc phải ráng ở công ty bây giờ thêm 1 thời gian nữa .
Thân
|
|
|
TQN wrote:
2 conmale: diStorm là BSD open source lib của chính Arkon viết từ đầu đến cuối đó anh, không phải của WinRAR đâu.
Phần mềm vi phạm chính là BKAV Pro. Đọc cái topic của cậu tutk xong, sùng gan, nói toẹt ra cho rồi.
Trước mắt, sơ bộ ta thấy BKAV Pro đã vi phạm bản quyền ở 2 điều sau:
1. Dùng BSD open source library diStorm64 mà không tuân theo luật của BSD.
2. Dùng shareware rar.exe của WinRAR, không có đăng ký và không có license cho từng máy cài BKAV Pro.
2 soft trên nằm trong file SysInfo.dll của BKAV Pro, file .dll này nằm trong thư mục %Program Files%\BKAV...
Các reverser nào không ngại đụng chạm đến BKAV thì có thể phân tích file .dll này để kiểm chứng và đánh giá đúng sai.
Chưa bàn tới vấn đề lỗi hay bug, chỉ về vấn đề bản quyền, các bạn tự nghĩ thử một trung tâm mang tiếng là "hàng đầu" VN ta, được nhà nước cấp vốn, nâng đỡ, một trình AV tốt thuộc loại "nhất", mà đã vi phạm nặng như thế, thì còn gì là thể diện cho nền IT nước nhà chúng ta.
Vụ này thú vị quá , để đêm nào em không ngủ được lôi mấy đống này ra xem coi thế nào .
Cám ơn anh TQN
|
|
|
Chào bạn .
Theo như mình biết , BIND là chương trình có nhiều chức năng quản lý thay thế cho /etc/hosts . Vì vậy , khi đã dùng BIND thì không cần thiết phải đụng đến /etc/hosts nữa .
Thân .
|
|
|
Mình thấy trong bài viết về BIND của anh tranvanminh phần 3 có đoạn:
$TTL 86400
$ORIGIN domain.name.
@ IN SOA ns.domain.name. dnsmaster.domain.name. (
2003051100 ; tăng (ví dụ +1) khi thay đổi thông tin
3H ; update thông tin từ master server
3600 ; làm lại, nếu không connect được với master
1W ; thời hạn giữ thông tin của slave
1D ) ; thời hạn cache của client, giảm -1 mỗi giây
IN A 192.168.1.1
IN MX 10 mail.domain.name.
IN NS ns.domain.name.
localhost IN A 127.0.0.1
Theo mình hiểu thì 2 dòng màu cam ở trên:
Dòng đầu khai báo authoriative server của domain.
Dóng thứ 2 khai báo name server nào có trong domain domain.name.
Vậy mình có cần thêm dòng 192.168.1.1 trong file /etc/named.conf không?
IP của máy mình là 192.168.1.1
Chào bạn , xin lỗi đã làm cho bạn hiểu lầm , bài viết về BIND đó không phải là của mình .
Tác giả là James Nguyen.
Trả lời thắc mắc của bạn , thông thường các file được gọi là record này nằm trong /var/named/ và được ấn định path vào trong /etc/named.conf. Và trong /etc/named.conf không viết các thông tin cấu trúc vào nó. Cho nên không cần thiết phải thêm dòng 192.168.1.1 vào /etc/named.conf .
Vài góp ý .
Thân
|
|
|
LeVuHoang wrote:
lão ThanBai đâu vào đi kìa
Tui có thi LPI-1 rồi nên có thể nói sơ qua cho lão những bước sau:
1. Lệ phí thi 2 môn là $100
2. Lão có thể đến trung tâm nào thi quốc tế cũng được. Hôm trước tui thi ở Vũ Thảo
3. Lão có thể tự học và đi thi
4. Lão thi 2 môn vào 2 ngày khác nhau nên có thể sếp lịch. Hình như lão có thể dời ngày nhưng phải báo trước. Cái này chắc tuỳ vào policy của trung tâm lão đăng ký dự thi
5. Hồi đó tui có coi qua Test King nhưng số lượng câu hỏi quá nhiều (400 câu) nên ko thèm coi lun... hehee
Chúc lão thi đậu
Học LPI thì cũng như lão Hoàng nói , tự học cũng có thể đậu như thường .
Ví dụ như câu hỏi :
What option can be used with the shutdown command to cancel a pending shutdown?
Thì bắt buộc thí sinh thi phải nhập vào shutdown -c
Chứ nó không có lựa chọn
a. shutdown -c
b. shutdown -x
c. shutdown -n
d. shutdown -u
Vậy cho tôi hỏi, lúc lão thi môn 117-101 thì khi thi thì họ đưa đề thi cho mình có đáp án sẳn lựa chọn a, b, c, d, e hay họ bắt buộc mình nhập trả lời đáp án của mình vào đề thi .
Lúc em thi (2 , 3 năm trước gì đó )thì còn tùy vào đề , có lúc nó bắt bấm hết command và option , như cái shutdown -c ở trên , cũng có lúc nó cho chọn a, b, c, d . Nói chung mình nhớ hết trước thì an toàn nhất . Chúc anh thi đậu
|
|
|
|
|
|
|