■
■
■
!"
#
$
%
&
$&'''(
$()$!*
))+,%-.$
(
$&'''(
$(!*
&$
■
!&/
,0&,0
%&,0
"%
*%&,0*
%
,1&,12/
■
,,& ",,
,/!$
■
0&0
■
$3/&2
&/!
■
■
$!&
'$
/
■
0"&
"
■
12
1 &
12
"/
1,&1,//
,4/!
5
!"
■
,* &,*
"/6
&$!
■
3/$
/
2
&/
7
2
2
/
/$
/
2
81
&
■
/
6
$
9
2
2/
:9
!
;
!<
/
&
1=>:
36!36/
3;
?
"
/
@1
/
&
6
$/
//!
)6
/
/
6/
6
7
$!
6
4
5
2
!
&,,/!$
■
■
1
/22/
7
/
,,!
9
<
/
$
<
<
/
:
/
/
2
;
■
&,0
■
1,07
/
(
2
9
2
2
/0:0;
■
1,0
/
/
1<@,A/'?:
!;
■
$!/
0
/
,,
3
2
$0
,/
/ $9
%
/
/
22
//
,0$
%:,0
"%
;
*%:*
%
;
,1:,0;
&,0
■
,0
"%
:%;
$/
$
/
92:
/
;6
!
22
,1
*97
,, (
■
,0*
%
:*%;
@$<22
$/
%
/
0
9
■
,12/
:,1;
7
2/
&0
■
&0
$!C
■
10
$2
/
D
62//
!
2
,0(
$<$
7
(//
&
@,A6@,A/'?
2/$!(
6
/
2/
$6
2
*@#1*$
$3/(
3
72
(
$:
626(((;
/
$:
;
2/
,1/
B
& $3/
■
■
,/
2/
2
$
/
&
/
■
E!?
/
D
"$
/
2
!<22
!
/
/
<7
$
$
(
/
/
/
/
/
/
7/92
!
/
,
$
/
■
A/!
//
//
!
:/
<
$
;
■
$!E
$!/
2
/'$
0"3/<
/
!
/
/
D
'$
/
/
■
0"3/
$!6
<
$
&22
!
!
■
$
&,/!
!"
■
1 12
"/
■
"1,:1,//
;!
■
//
/
/
F
!
■
$
1
/
:/
<
;
1
!
F
//
2
/
2
/$
/
/
/
*
/6//
/
/
:2
F
!;
F
2
:/
2
<
/
2
2
!
;
*
2'
F
/
6
6
F
<
$
9
?
:$&
!"(/(
!!
!*$
%($/;
9
:2
6
6?6
/6(((;
$
$
/
2
!/
$
!
2
<7
!
$2
■
*
9
/
2
/
/
(
&
2
■
■
*/
"2
$!(
1$!2
2/
9
7697
!
(
/
2
$
://!$
";,,6
$
/
$
,,
!
$
D
2<
$
(
&
2
■
6
,,
2
/
2
$
(3
/
,
0:,0;
,12/
:,1;(
■
G
,,6
,1
2/
2/
/!
/
(
■
G
,0$
,17/
2
6
2
"%
:%;
&
2
■
1%9
2/
,16
9
2
$9
69
9:H/
2/
,1;92
:$
2
,1
;
■ 1%9
9
$/
"6
,0
■
1,0
*
%
:*%;$9
2
/
&
2
■
■
■
■
3
*%
:
,0;
0:0;
!
22
$J2
2
$
(
1*%
2
$
/
2
/
1*%
2
0
$/
$
72
G
/
*%
2
$
,0
E/
&#A ■
,/
&
303
#A
■
12
2
2/7
/etc/ha.d/ha.cf
■
&
■
E/
&#A 2(!
2(!303
2(!#A
303
#A 2
#A
■
,
/
baud 19200
serial /dev/ttyS0
udpport 694
bcast eth1
■
#
&
■
#
#
#
#
quale metodo usare
metodo 0
metodo 1
metodo 2
12
/etc/logd.cf2
/
logfacility daemon
sendqlen 2048
recvqlen 2028
*/
$<$!
keepalive 2
warntime 10
deadtime 30
initdead 120
!//
?
2
/
?
2!
&CL(CM.(M(->
auth 1
0 crc
1 sha1 Chiave!
2 md5 chiave2!
use_logd
watchdog /dev/watchdog
crm yes
/
!
6&
12
/etc/ha.d/authkeys
<
/
,2
node server1 server2
auto_failback on
■
/
respawn hacluster /usr/lib/heartbeat/ccm
■
ping_group isp router1.isp.net www.isp.com
E/
&#A ■
303NA
"/
/
2/
E/
&#A ■
2
7
$
/!!
■
%
/
#A /
/!
&
$
2
2
6
/etc/drbd.conf:
fdisk /dev/sdb
resource nfsexport {
protocol C;
on ubuntu1 {
device
disk
address
meta-disk
}
/dev/drbd0;
/dev/sdb2;
172.16.0.1:7788;
internal;
on ubuntu2 {
device
/dev/drbd0;
disk
/dev/sdb2;
address
172.16.0.2:7788;
meta-disk internal;
}
}
,
service drbd restart
drbdadm create-md nfsexport
drbdadm up nfsexport
mkdir /mnt/nfsexport
$
/
/"&
drbdadm -- --overwrite-data-of-peer \
primary nfsexport
mkfs.ext3 /dev/drbd0
mount /dev/drbd0 /mnt/nfsexport
:
;
!
!?
<
6
/$
2/
<#A 6
/var/lib/nfs62
/etc/exports
!2<7
!2)
2$$/
!
/
$
2
6//
:O *@#1*P;6
/
$
/
!2
"
2
!
!
2
/<9
&2
ON2
!?O:!
;
*,6
*1%)+1*
D
/
!
2
!
2
D
/
!
E/
&#A ■
E/
&#A 9
6
/#A
■
2?:
;
2?:
;
((:
;
(
/:
;
)
2:2
"//;
mkdir /mnt/nfsexport/data
/
echo '/mnt/nfsexport/data *(rw,sync)' > /etc/exports
/
mv /etc/exports /mnt/nfsexport
/
rm -rf /etc/exports
ln -sn /mnt/nfsexport/exports /etc/!
$
/
!2
/2
!2#@#
!2)
2
mv /var/lib/nfs /mnt/nfsexport
/
rm -rf /var/lib/nfs
ln -sn /mnt/nfsexport/nfs /var/lib/nfs/!
/
!2)
22
!2
2
/
$2
)
2(2&PIPEFS_MOUNTPOINT=/var/lib/rpc_pipefs
/(2&Pipefs-Directory = /var/lib/rpc_pipefs
■
E/
&#A 1
$!&
2
<
/
2
,1
■
,1E2
<nodes>
<node id="c0b29a54-f9b4-4e3e-97db-6e46bcf96d77"
uname="ubuntu1" type="normal"/>
<node id="a7799827-e873-42f7-99d8-6b994c461dc3"
uname="ubuntu2" type="normal"/>
</nodes>
<19
22//
/STATDOPTS="-n 192.168.56.100"
■
/2
/
$/
E/
&#A ■
,1E
QR2
1
<primitive id="res_IPaddr2_1" class="ocf" provider="heartbeat" type="IPaddr2">
<instance_attributes id="res_IPaddr2_1-instance_attributes">
<nvpair id="nvpair-res_IPaddr2_1-nic" name="nic" value="eth2"/>
<nvpair id="nvpair-res_IPaddr2_1-ip" name="ip" value="192.168.56.100"/>
</instance_attributes>
</primitive>
!
"#$
■
,1E
QR!
<master id="ms_drbd_1">
<primitive id="res_drbd_1" class="ocf" provider="linbit" type="drbd">
<instance_attributes id="res_drbd_1-instance_attributes">
<nvpair id="nvpair-res_drbd_1-drbd_resource" name="drbd_resource"
value="nfsexport"/>
</instance_attributes>
</master>
E/
&#A ■
,1E
QR2
"/
<primitive id="res_Filesystem_2" class="ocf" provider="heartbeat"
type="Filesystem">
<instance_attributes id="res_Filesystem_2-instance_attributes">
<nvpair id="nvpair-res_Filesystem_2-fstype" name="fstype" value="ext3"/>
<nvpair id="nvpair-res_Filesystem_2-directory" name="directory"
value="/mnt/nfsexport"/>
<nvpair id="nvpair-res_Filesystem_2-device" name="device"
value="/dev/drbd0"/>
</instance_attributes>
</primitive>
■
,1E
QR2
E/
&#A ■
,1E
Q
R2
"/
!
2
<rsc_location id="loc_res_IPaddr2_1_ubuntu2" rsc="res_IPaddr2_1" node="ubuntu2" score="0"/>
<rsc_location id="loc_res_IPaddr2_1_ubuntu1" rsc="res_IPaddr2_1" node="ubuntu1" score="0"/>
:
/ST/)!)C56ST)A
"/)56ST)2?)CT;
<
:
$
;
<rsc_order id="ord_res_Filesystem_2_res_nfs-kernel-server_1" score="INFINITY"
first="res_Filesystem_2" then="res_nfs-kernel-server_1"/>
<rsc_order id="ord_res_IPaddr2_1_res_nfs-kernel-server_1" score="INFINITY"
first="res_IPaddr2_1" then="res_nfs-kernel-server_1"/>
/:
$
;
<primitive id="res_nfs-kernel-server_1" class="lsb" type="nfs-kernel-server">
</primitive>
%
& '
<rsc_colocation id="col_res_Filesystem_2_ms_drbd_1" score="INFINITY"
with-rsc-role="Master" rsc="res_Filesystem_2" with-rsc="ms_drbd_1"/>
<rsc_order id="ord_ms_drbd_1_res_Filesystem_2" score="INFINITY"
first-action="promote" then-action="start" first="ms_drbd_1" then="res_Filesystem_2"/>
<rsc_colocation id="col_res_Filesystem_2_res_nfs-kernel-server_1" score="INFINITY"
rsc="res_nfs-kernel-server_1" with-rsc="res_Filesystem_2"/>
<rsc_colocation id="col_res_IPaddr2_1_res_nfs-kernel-server_1" score="INFINITY"
rsc="res_nfs-kernel-server_1" with-rsc="res_IPaddr2_1"/>
N
■
■
N
,
72
/
!
$!
!
1/
97
=
:= ;
■
&
//
/
$
</
$
/
!
/
/
#*
*
3
0
■
■
1$
6
$7
/!
!
1
7 @A6/$
!
0, 0, E,, ! (###% )$!!))%!"
■
06
/
22
//
!
6
2/
22&0%
■
2
2/
2
2
$2
$
(
2
2
9
$?
0$
!
6$$2?A
,
0
//
A,
A,7
!/
0%
,@ 62'!/
A,6
!
/45
0%
■
0, 2
/
/
!
/
/
/
2
"/
■
■
,/
&
!
!
/
2ccs_tool <cmd>
/
&
ccs_tool lsnode
ccs_tool update
6/626/
:6";
"/2
6:
6
;
!!
/6!6/62
*2
7
2
B
/etc/cluster/cluster.conf
%/
&
*
0, E,#
■
,#:,#;
/
2
2
//
:
7
2
;
+"
<?xml version="1.0"?>
<cluster name="clusterExample" config_version="1">
*
<clusternodes>
<clusternode name="node1.example.com" votes="1" nodeid="1">
<fence>
<method name="single">
<device name="manual" nodename="centos1"/>
</method>
</fence>
</clusternode>
*
<clusternode ...
&,*"'
</clusternodes>
<fencedevices>
<fencedevice name="manual" agent="fence_manual"/>
</fencedevices>
</cluster>
*
2
■
$
/
0, E(2
,,2
"/:,, ;7
/
2
6/
&
■
1/
,#
(22
/
/
2(
■
D
2
/6
S$$:/;6SUL(CL(
CVE.(
W<cman>
<cluster_id=”1234”/>
<multicast addr=”239.192.0.1”/>
<port=”6809”/>
<expected_votes=”1”/>
<cman two_node=”1”/>
</cman>
,#D
cman_tool <cmd>
joinleave
leave remove
2//$
/
0, EA3/
■
1/
2
2
$<
/
//!$
,#$
$
2
(
0, EA3/2(
■
/
9
2
$
<
(
&2)/
7
S
/
7
2$
!
2
9
$
2
D
2/
/
/
2)X
62)
/
0, $
2
2
/
/
6/
7FA (
■
D
2
2
/
/
"$
<//
/
2
/
/2)?)/(
■
■
0, E/
0/:/;/
2
D72
!
$
<rm>
<failoverdomains>
<failoverdomain name="clu1_prio" nofailback="0"
<failoverdomainnode name="clu1.example.com"
<failoverdomainnode name="clu2.example.com"
<failoverdomainnode name="clu3.example.com"
</failoverdomain>
<failoverdomain name="clu1_only" nofailback="0"
<failoverdomainnode name="clu1.example.com"
</failoverdomain>
</failoverdomains>
Y
!
/2)Q/R
!"<
/
22
2
<fence_daemon post_join_delay=”10” post_fail_delay=”0” clean_start=”0”/>
■
2
!
/
)X
)"&
/2
)2
)"&
/2
2
)&C
!
2
3
2
&
/2
22/$
9/
&<
679
9/6
(2$$22
X
$
/
/2
1cluster.conf
/
ordered="1" restricted="1">
priority="1"/>
priority="2"/>
priority="3"/>
ordered="0" restricted="1">
priority="1"/>
0, E/
■
0/2
$
6
$
6$2
/
<resources>
<ip address="192.168.50.240" monitor_link="1"/>
<fs device="/dev/sdc1" force_fsck="0" force_unmount="1" fsid="60001"
fstype="ext3" mountpoint="/mnt/newhome" name="ext3htdocs"
options="defaults,rw" self_fence="1"/>
<nfsexport name="htdocs_nfs"/>
<nfsclient allow_recover="1" name="htdocs_nfs_client"
options="rw,async,nohide,no_root_squash"
target="192.168.50.0/255.255.255.0"/>
</resources>
<service autostart="1" domain="clu1_prio" exclusive="0"
name="htdocs_exports_clu3" recovery="restart">
<ip ref="192.168.50.240"/>
<fs ref="ext3htdocs">
<nfsexport ref="htdocs_nfs">
<nfsclient ref="htdocs_nfs_client"/>
</nfsexport>
</fs>
</service>
</rm>
0, E"/2
■
F1/
2
(2
$
/
2
$
■
0, E
■
■
&$
&/
2
<
2
'!
<
$&Q
$/R&.-.>
F
!
7
/'!!
/
&
■
2
2
/
2
/
$
<
Scarica

Approfondimenti sui sistemi di clustering in ambiente Linux