Skip to content

Commit 4ebda2f

Browse files
La création de l'infrastructure a été refaite de bout en bout.
Le serveur K2 se synchronise par défaut sur le virtual-host et non plus sur internet : - configure_global.cfg.sh Possibilité de choisir la source de synchronisation pour K2 : internet ou le virtual-host - ntp/configure_chrony.sh Pour le serveur K2, test si la synchronisation est correcte. - validate_config.sh Test si la source NTP de K2 est pingable. Suppression de la variable master_yum_repository_release qui devenait source de bugs. - global.cfg - setup_first_vms/01_prepare_master_vm.sh - yum/switch_repo_to.sh Bug sur l'activation du noyau Redhat et fix typo. setup_first_vms/03_setup_infra_vm.sh Test synchronisation interminable. - database_servers/install_oracle.sh Ajout message indiquant de faire un Ctrl+C si la synchro est trop longue. TODO : Si la synchro a été faite il y a moins de 5 mn et que le temps de désynchro est inférieur à 2 ms ne rien faire. db/create_db.sh - Positionner le paramètre pga_aggregate_limit n'était pas très futé. - Activation du paramètre db_block_checksum=full
1 parent 98417f1 commit 4ebda2f

File tree

9 files changed

+73
-25
lines changed

9 files changed

+73
-25
lines changed

configure_global.cfg.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,24 @@ function network_interface
278278
LN
279279
}
280280

281+
function sync_time_source
282+
{
283+
info "Sync time source for server $infra_hostname"
284+
master_time_server_n=$(hostname -s)
285+
ask_for_variable master_time_server_n "Default the virtual-host $master_time_server_n, enter internet for internet."
286+
LN
287+
288+
case "$master_time_server_n" in
289+
$(hostname -s)|internet)
290+
;; # OK
291+
*)
292+
error "Source '$master_time_server_n' invalid, change to $(hostname -s)"
293+
LN
294+
master_time_server_n=$(hostname -s)
295+
;;
296+
esac
297+
}
298+
281299
# update file $HOME/plescripts/local.cfg if $1 != $2
282300
# $1 orignal value
283301
# $2 new value
@@ -308,6 +326,8 @@ LUNs_storage
308326

309327
network_interface
310328

329+
sync_time_source
330+
311331
if [ ! -d $HOME/plescripts/tmp ]
312332
then
313333
info "Create temporary directory."
@@ -330,6 +350,8 @@ add_to_local_cfg "$if_net_bridgeadapter" "$if_net_bridgeadapter_n" IF_NET_BRIDGE
330350

331351
add_to_local_cfg "xxxx" "\"$vm_p\"" VM_PATH
332352

353+
add_to_local_cfg "$master_time_server" "$master_time_server_n" MASTER_TIME_SERVER
354+
333355
if [ "$disks_hosted_by" != "$disks_stored_on" ]
334356
then
335357
update_value "DISKS_HOSTED_BY" "$DISKS_HOSTED_BY" ~/plescripts/local.cfg

database_servers/install_oracle.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,9 @@ function start_oracle_installation
315315
line_separator
316316
for node in ${node_names[*]}
317317
do
318-
# Il faut vraiment attendre.
318+
info "if sync is too long :"
319+
info " Ctrl+C and reboot $client_hostname..."
320+
LN
319321
exec_cmd -c "ssh -t root@${node} \
320322
'~/plescripts/database_servers/test_synchro_ntp.sh -max_loops=100'"
321323
LN

db/create_db.sh

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,9 @@ fi
6060
case "$orcl_release" in
6161
12.1)
6262
typeset shared_pool_size="344M" # Strict minimum 256M
63-
typeset pga_aggregate_limit="1256M"
6463
;;
6564
12.2)
6665
typeset shared_pool_size="344M"
67-
typeset pga_aggregate_limit="2048M"
6866
;;
6967
*)
7068
error "Oracle Database '$orcl_release' invalid."
@@ -101,8 +99,6 @@ fi
10199
# 12.1 Quand le grid est utilisé il faut obligatoirement présicer une valeur
102100
# minimum de 256M sinon la création échoue, sur un FS mettre 0 est OK
103101
add_usage "[-shared_pool_size=$shared_pool_size]" "0 to disable this setting (6)"
104-
# 12.1 sur un RAC fixer une limite est important.
105-
add_usage "[-pga_aggregate_limit=$pga_aggregate_limit" "0 to disable this setting (7)"
106102
add_usage "[-cdb=$cdb]" "yes|no (1)"
107103
add_usage "[-redoSize=$redoSize]" "Redo size Mb."
108104
add_usage "[-data=$data]"
@@ -179,11 +175,6 @@ do
179175
shift
180176
;;
181177

182-
-pga_aggregate_limit=*)
183-
pga_aggregate_limit=${1##*=}
184-
shift
185-
;;
186-
187178
-data=*)
188179
data=${1##*=}
189180
shift
@@ -340,15 +331,12 @@ function make_dbca_args
340331
typeset initParams="-initParams threaded_execution=true"
341332

342333
if [ $crs_used == no ]
343-
then # sur FS il faut activer les asynch I/O
334+
then # sur FS il faut activer les asynch I/O & co.
344335
initParams="$initParams,filesystemio_options=setall"
345336
fi
346337

347-
if [[ "${db_type:0:3}" == RAC && $pga_aggregate_limit != "0" ]]
348-
then
349-
# set pga_aggregate_limit for test not prod.
350-
initParams="$initParams,pga_aggregate_limit=$pga_aggregate_limit"
351-
fi
338+
# Je sécurise le truc.
339+
initParams="$initParams,db_block_checksum=full"
352340

353341
if [ $memoryMaxTarget -ne 0 ]
354342
then # Ne doit être définie que pour une base single : bug Oracle.

global.cfg

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,6 @@ typeset -r oracle_release=${ORACLE_RELEASE:-"12.1.0.2"}
105105
# Par exemple pour les versions 12 le mot de passe sera Oracle12
106106
typeset -r oracle_password=Oracle${oracle_release%%.*}
107107

108-
# Ne pas modifier cette variable, conservée pour compatibilité.
109-
typeset -r master_yum_repository_release=$orcl_yum_repository_release
110-
111108
# ============================================================================
112109
# VM
113110
# ============================================================================

ntp/configure_chrony.sh

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,25 @@ then
7272
LN
7373
fi
7474

75-
info "Enabled & start chrony"
75+
info "Enable & start chrony"
7676
exec_cmd "systemctl enable chronyd"
77-
exec_cmd "systemctl start chronyd"
77+
# Si le service est déjà démarré la nouvelle configuration n'est pas prise en
78+
# compte, donc restart
79+
exec_cmd "systemctl restart chronyd"
7880
LN
81+
82+
if [[ $role == infra && "$time_server" != internet ]]
83+
then
84+
timing 2 "Wait sync to $time_server"
85+
info -n "Sync with $time_server "
86+
if ! chronyc sources|grep -q $time_server
87+
then
88+
info -f "[$KO]"
89+
LN
90+
exit 1
91+
else
92+
info -f "[$OK]"
93+
LN
94+
exit 0
95+
fi
96+
fi

setup_first_vms/01_prepare_master_vm.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ then
9191
info "Add local repositories"
9292
exec_cmd ~/plescripts/yum/add_local_repositories.sh -role=master
9393
exec_cmd ~/plescripts/yum/switch_repo_to.sh \
94-
-local -release=$master_yum_repository_release
94+
-local -release=$orcl_yum_repository_release
9595
LN
9696
else
9797
warning "Local repositories not added."

setup_first_vms/03_setup_infra_vm.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ do
4242
done
4343

4444
# Sinon le serveur ne fonctionne pas correctement, beaucoup d'erreurs réseaux.
45-
exec_cmd "~/plescripts/grub2/enable_redhat_kernel.sh"
45+
# A ce niveau le serveur n'a pas encore son nom définitif, donc il faut
46+
# ajouter le flag : -skip_test_infra
47+
exec_cmd "~/plescripts/grub2/enable_redhat_kernel.sh -skip_test_infra"
4648
LN
4749

4850
line_separator
@@ -138,7 +140,7 @@ then
138140
LN
139141
fi
140142

141-
exec_cmd ~plescripts/journald/enable_persistent_storage_for_syslog.sh
143+
exec_cmd ~/plescripts/journald/enable_persistent_storage_for_syslog.sh
142144

143145
exec_cmd ~/plescripts/shell/set_plymouth_them
144146
LN

validate_config.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,23 @@ function validate_gateway
171171
LN
172172
}
173173

174+
function validate_master_time_server
175+
{
176+
[ "$master_time_server" == internet ] && return || true
177+
178+
line_separator
179+
info -n "Time synchronization server : ping of $master_time_server "
180+
181+
if ping -c 1 $master_time_server >/dev/null 2>&1
182+
then
183+
info -f "[$OK]"
184+
else
185+
info -f "[$KO]"
186+
((++count_errors))
187+
fi
188+
LN
189+
}
190+
174191
function validate_nic
175192
{
176193
line_separator
@@ -329,6 +346,8 @@ validate_gateway
329346

330347
validate_nic
331348

349+
validate_master_time_server
350+
332351
validate_resolv_conf
333352

334353
test_tools

yum/switch_repo_to.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ then
7676
;;
7777

7878
"$master_hostname") # Serveur Master.
79-
typeset release=$master_yum_repository_release
79+
typeset release=$orcl_yum_repository_release
8080
;;
8181
esac
8282
fi

0 commit comments

Comments
 (0)