中型企業機房停電時的開關機作業 什麼是中型機房: 伺服器數量100台以上1000台以下的企業自己建制的機房.為什麼要談停電?中型企業自建機房不可能像IDC那樣,有那麼高的冗餘性,從而難免會遇到停電的時間,本人在
深圳軟體園和成都天府軟體園一年最少2次都遇到停電事件, 那停電了IT要做那些事情呢? www.2cto.com 有人會說我有UPS,發電機, 首先UPS 一般企業並不會買那麼大的容量給你用個一天,其次就算機
房有電?那機房空調 UPS 撐的住嘛? 發電機咱們不多談,有錢建,有錢燒油那就另說了. 好了,解釋完為啥停電,咱們就來談苦B的IT 關機和開機 作業, (這還有啥好談的?直接關就好了唄?
且聽我細細道來)拿100台的伺服器來說,一般企業應該都會有windowslinux機器,怎麼樣快速的關閉這些server
(你的UPS能撐多久?你的空調停了機房溫度多長時間能維持在30度以下?)所以下文我們就來解決這個問題,1、關機流程 所謂關機流程就是指規範你的機房內的裝置應該先關什麼後關什麼.如果你的少量的伺服器需
要補間斷作業需求,那還要分階段關機 一般來說: www.2cto.com a、不常用OARD server,有clust的server, 舉例來說 DHCP、Dns、Print、Antivirus、IAS等
等和HA的其中一台,比如AD DC, b、除AD DC、NIS、以外的所有伺服器,。。。。。。。 c、AD DC、NIS、及需要手動關閉的server d、VM esxi, f、Sotrage(DAS、NAS)、Type Library、PBX、Network device、KVM g、UPS 2、關機指令碼與檢查 a、Windows server windows server 比較容易 使用shutdown 就好, shutdown -m \x.x.x.x -f -t 00 重複這些命令就好。 這條命令執行時需要你對所有涉及到的機器有admin 許可權,最好是用domain admin 登陸到
AD上 去執行該指令碼, 而對於一些沒有join domain 的機器可以使用先使用net use \x.x.x.xipc$ password /user:username
先擷取許可權後在執行shutdown 命令。 b、Linux www.2cto.com 方法1:對於使用ssh key 登入方式 相對簡單 ssh key 免密碼部分目的讓nis1 登入 nis2產生key檔案[root@nis1 .ssh]# ssh-keygen -t rsa ------------->產生key 檔案id_rsa.pubGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:b8:d9:97:26:74:a3:0f:65:0a:99:3f:91:af:ec:17:e3 root@nis1[root@nis1 .ssh]# lsauthorized_keys id_rsa id_rsa.pub known_hosts[root@nis1 .ssh]# more id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvoab6CicZkl93QfDcQm4Kkmap4jVgbUXOQ+GuZLNDUo
96gBltP1J3djMkrI0gfflM7T4mDFnymP3FMOXxnasMHL0jkwwv0GlMGVOlDq5cFSxpY4nxJiLiDFxs8fqVLKedvvPym1frZxnNIDMhwUG8r1
a3d+t/XSAjjTdRLQAFOVqDgBmDObiMltiKoKhSF/MVEAsR9Yx7KpIWzqJvJc6OnRMWWYxRhhiBabViJBeKCqRy//bQ6JGAYCqPTbfd4DIE7D8h+
9WFt3yu1PaKb142ekmr1wew0KpeSpHurYaP57dAXly0xCqcTKp5AUJJ3XqatpS3dLeO8LBu6tWhjJFow== root@nis1 將id_rsa.pub 內容 追加到nis2 的/root/.ssh/authorized_keys中[root@nis1 ~]# scp id_rsa.pub root@nis2:/root/.ssh/root@nis2:~/.ssh# cat id_rsa.pub >> authorized_keys root@nis2:~/.ssh# more authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCOPnxdx4VDXGg+iACbjK7Vf9EgEs4eue2TCJxFrb8
DDZpB1xdgtuYx+X9b6wvAOgQ00MRUEgcXem3fDmxLguxFiYlUT33zkmg+lnC5MwZHIwFYTAMuVRN6/rzVApTqN18bG9/jQgDtYPUwKnS3l1EQps64i+4E
7bwdoyKmzOzzyQ==ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvoab6CicZkl93QfDcQm4Kkmap4jVgbUXOQ+GuZLNDUo
96gBltP1J3djMkrI0gfflM7T4mDFnymP3FMOXxnasMHL0jkwwv0GlMGVOlDq5cFSxpY4nxJiLiDFxs8fqVLKedvvPym1frZxnNIDMhwUG8r1a3d+t/XSAjjTd
RLQAFOVqDgBmDObiMltiKoKhSF/MVEAsR9Yx7KpIWzqJvJc6OnRMWWYxRhhiBabViJBeKCqRy//bQ6JGAYCqPTbfd4DIE7D8h+9WFt3yu1PaKb142ekmr1
wew0KpeSpHurYaP57dAXly0xCqcTKp5AUJJ3XqatpS3dLeO8LBu6tWhjJFow== root@nis1root@nis2:~/.ssh# 這樣就可以使用nis1 免密碼登入nis2 了 www.2cto.com 找一台機器最好是NIS,可以免密碼登陸所有的linux 機器, ×××××××××××××××××××××××××××××××NIS1 #more shutdown.sh #! /bin/sh for i in `awk '{print $1}' iplist`do echo $issh $i "shutdown -h now" done×××××××××××××××××××××××××××××××[NIS1]# more iplist×××××××××××××××××××××××××××××××1.1.1.11.1.1.2××××××××××××××××××××××××××××××× 方法2:對於使用使用者名稱密碼的登入方式需要用到的幾個檔案[NIS1]# lslog.sh ping.sh shutdown.sh iplist[NIS1]# more shutdown.sh ×××××××××××××××××××××××××××××××#!/bin/bash for i in `cat iplist`do N1=`echo $i|awk -F: '{print$1}'` N2=`echo $i|awk -F: '{print$2}'` N3=`echo $i|awk -F: '{print$3}'` echo $1 echo $2 echo $3 expect log.sh $N1 $N2 $N3done××××××××××××××××××××××××××××××× [NIS1]# more log.sh ×××××××××××××××××××××××××××××××#!/usr/bin/expectset ip [lindex $argv 0]set user [lindex $argv 1]set passwd [lindex $argv 2] set timeout 5spawn ssh $user@$ipexpect { sleep 2 "*(yes/no)?" {send "yesr";exp_continue} sleep 2 "password:" {send "$passwdr"}} expect { sleep 2 "#" {send "shutdown -h nowr"}}expect { sleep 2 "#" {send "exitr"}}exitexpect eofexit××××××××××××××××××××××××××××××× [NIS1]# more iplist ×××××××××××××××××××××××××××××××1.1.1.1:root:password:1.1.1.2:root:password:××××××××××××××××××××××××××××××× 測試:ping 看是否關機[NIS1]# more ping.sh ×××××××××××××××××××××××××××××××#!/bin/bashfor i in `cat iplist` do# echo $i N1=`echo $i|awk -F: '{print$1}'` echo $1 pin_test=`ping -c 4 $N1 | grep ttl|wc -l` if [ $pin_test -gt 2 ] then echo $N1 "is up" else echo $N1 "is down" fidone×××××××××××××××××××××××××××××××以上就是2中linux 關機的指令碼,可以看看適合用哪一種,個人建議是用第一種,應為企業越大,
就越要規範,越是要講究速度。 3、開機流程基本上就是 關機過程反過來a、UPS b、Network device、KVMc、Sotrage(DAS、NAS)、Type Library、PBXd、AD DC、NIS、e、windows terminal license server 或其他 license serverf、剩餘所有server 4、開機檢查這個就要很仔細了,基本上是開機流程做一步就檢查一步,確保每問題了在進行下一步動作。最後就要檢查各項服務:比如client 能否擷取IP,上網、列印,收發mail,等等 IT所提供的一切服務。