SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • 產品
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • 新闻与活动
  • 伺服器集群简单化
  • 成功案例
    • 台灣成功案例
  • 聯繫我們
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

SQL Server for Linux – 現在提供公共預覽

21 12 月, 2018 by Jason Aw Leave a Comment

SQL Server for Linux – 現在提供公共預覽

現在可以使用SQL Server v.Next的公共預覽版。微軟最終增加了對Linux的支持。 請查看以下鏈接以獲取更多信息。  我將很快下載並查看高可用性功能。 敬請關注!

SQL Server v.Next Public Preview:https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux原始SQL Server Linux公告:https://blogs.microsoft.com / blog / 2016/03/07 / announcing-sql-server-on-linux /經Linuxclustering許可轉載

Filed Under: 伺服器集群简单化 Tagged With: SQL Server for Linux

在沒有共享存儲的Amazon EC2中配置Linux故障轉移群集

20 12 月, 2018 by Jason Aw Leave a Comment

分步如何在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集azure sanless

循序漸進:如何在沒有共享存儲的Amazon EC2中配置Linux故障轉移群集#amazon #aws #sanless #cluster

在本分步指南中,我將向您介紹在Amazon的彈性計算雲(Amazon EC2)中配置高可用性雙節點MySQL群集(以及見證服務器)所需的所有步驟。 該指南包括適當的屏幕截圖,shell命令和代碼片段。 我假設您對Amazon EC2有點熟悉並且已經擁有一個帳戶。 如果沒有,您今天就可以註冊。 我還將假設您具有基本的Linux系統管理技能,並了解基本的故障轉移群集概念,如虛擬IP等。

免責聲明:雲正在快速移動目標。因此,功能/屏幕/按鈕必然會隨著時間的推移而發生變化,因此您的體驗可能會與您在下面看到的略有不同。 雖然本指南將向您展示如何使MySQL數據庫具有高可用性,但您當然可以調整此信息和流程以保護其他應用程序或數據庫,如SAP,Oracle,PostgreSQL,NFS文件服務器等。以下是在Amazon EC2中創建高可用性MySQL數據庫的高級步驟:

  1. 創建虛擬私有云(VPC)
  2. 創建Internet網關
  3. 創建子網(可用區)
  4. 配置路由表
  5. 配置安全組
  6. 啟動實例
  7. 創建彈性IP
  8. 創建虛擬IP的路由條目
  9. 禁用ENI的源/目的地檢查
  10. 獲取訪問密鑰ID和秘密訪問密鑰
  11. Linux OS配置
  12. 安裝EC2 API工具
  13. 安裝和配置MySQL
  14. 安裝和配置群集
  15. 測試群集連接

概觀

本文將介紹如何在單個Amazon EC2區域中創建集群。 群集節點(node1,node2和見證服務器)將駐留在不同的可用區中,以實現最大可用性。 這也意味著節點將駐留在不同的子網中。配置如下所示:將AWS-Linux的MySQL的使用以下IP地址:

  • node1:10.0.0.4
  • node2:10.0.1.4
  • 見證人:10.0.2.4
  • 虛擬/“浮動”IP:10.1.0.10

創建虛擬私有云(VPC)

首先,創建一個虛擬私有云(也稱為VPC)。VPC是亞馬遜雲中專用於您的隔離網絡。 您可以完全控制IP地址塊和子網,路由表,安全組(即防火牆)等內容。 您將在您的虛擬網絡中啟動Azure Iaas虛擬機(VM)。在AWS主儀表板中,選擇“VPC1您的VPC”下的“VPC”,確保您已在屏幕右上角選擇了適當的區域。 在本指南中,將使用“US West(Oregon)”區域,因為它是一個具有3個可用區的區域。  有關區域和可用區的更多信息,請單擊此處VPC2為VPC命名,並指定要使用的IP塊。 本指南將使用10.0.0.0/1VPC36:您現在應該在“您的VPC”屏幕上看到新創建的VPC: vpc4  

創建Internet網關

接下來,創建一個Internet網關。 如果您希望實例(VM)能夠與Internet通信,則必須執行此操作。在左側菜單中,選擇“Internet網關”,然後單擊“創建Internet網關”按鈕。 為其命名,然後創建:接下來,互聯網網關1將Internet網關連接到您的VPC:選擇互聯網網關2您的VPC,然後單擊Attach: 互聯網gateway3

創建子網(可用區)

接下來,創建3個子網。 每個子網都駐留在自己的可用區中。 3個實例(VM:node1,node2,見證)將啟動到單獨的子網(以及可用區)中,以便可用區的故障不會佔用群集的多個節點。美國西部(俄勒岡州)地區,又名us-west-2,有3個可用區域(us-west-2a,us-west-2b,us-west-2c)。 創建3個子網,每個3個可用區域中有一個子網。在VPC Dashboard下,導航到Subnets,然後subnets1導航Create Subnet:給第一個子網命名(“Subnet1)”,選擇us-west-2a的可用區,並定義網subnets2絡塊(10.0.0.0/24):Repeat to to創subnets3建第二個子網可用區us-west-2b:重複以在可用區us–subnets4west-2c中創建第三個子網:完成後,驗證是否已創建3個子網,每個子網具有不同的CIDR塊,並且在單獨的可用性中區域,如下所示: subnets5

配置路由表

更新VPC的路由表,以便將流向外部的流量發送到上一步中創建的Internet網關。 從VPC儀表板中,選擇“路由表”。  轉到“路由”選項卡,默認情況下,只存在一條允許僅在VPC內進行流量的路由。單擊編輯:路由表1添加其他路由:新路路由表2由的目標將為“0.0.0.0/0”(Internet),對於目標,請選擇您的Internet網關。 然後單擊“保路由表3存”:接下來,將3個子網與“路由表”關聯。  單擊“子網關聯”選項卡,然路由表4後單擊編輯:選中所有3個子網旁路由表5邊的框,然後單擊保存:驗證3個子網是否與路由表6主路由表關聯:稍後,我們將再次返回並更新路由表,定義允許流量與群集的虛擬IP通信的路由,但這需要在創建Linux實例(VM)之後完成。

配置安全組

編輯安全組(虛擬防火牆)以允許傳入的SSH和VNC流量。 兩者稍後將用於配置linux實例以及群集軟件的安裝/配置。在左側菜單中,選擇“安全組”,然後單擊“入站規則”選項卡。 單擊編輯:安全組1為SSH(端口22)和VNC添加規則。 VNC通常使用5900中的端口,具體取決於您的配置方式,因此為了本指南的目的,我們將打開5900-5910端口範圍。 根據您的VNC設置進行相應配置: 安全組2  

啟動實例

我們將在本指南中配置3個實例(虛擬機)。 前兩個VM(稱為“node1”和“node2”)將充當群集節點,能夠將MySQL數據庫及其相關資源聯機。 第三個VM將充當群集的見證服務器,以增強對裂腦的保護。為確保最大可用性,所有3個VM將部署到單個區域內的不同可用區中。 這意味著每個實例將駐留在不同的子網中。轉到AWS主儀表板,然後選擇EC2: 推出-INSTANCE1

創建“節點1”

創建您的第一個實例(“node1”)。 單擊Launch Ins推出-INSTANCE2tance:選擇您的Linux發行版。 後來使用的集群軟件支持RHEL,SLES,CentOS和Oracle Linux。 在本指南中,我們將使用RHEL 推出-instance37.X:相應地調整實例大小。 出於本指南的目的並最大限度地降低成本,使用了t2.micro大小,因為它符合免費等級。 有關實例大小和定價的更多信息,請參見此處。推出-instance4 接下來,配置實例詳細信息  重要信息:確保將此第一個實例(VM)啟動到“Subnet1”,並定義對子網有效的IP地址(10.0.0.0/24) – 選擇10.0.0.4以下,因為它是子網中的第一個免費IP。 注意:AWS中任何給定子網中的.1 / .2 / .3都是保留的,不能使用。推出-instance5 接下來,將額外的磁盤添加到群集節點(這將在“node1”和“node2”上完成)。 該磁盤將存儲我們的MySQL數據庫,稍後將在節點之間進行複制。注意:您不需要向“見證”節點添加額外的磁盤。 只有“node1”和“node2”。添加新卷,並輸入所需大小:為推出-instance6實例定義標記,節點1:將實推出-instance7例與現有安全組關聯,以便之前創建的防火牆規則將處於活動狀態:單擊“啟動”推出-instance8:重要說推出-instance9明:如果這是第一個實例在您的AWS環境中,您需要創建一個新的密鑰對。 私鑰文件需要存儲在一個安全的位置,因為當您SSH到Linux實例時將需要它 推出-instance10

創建“node2”

重複上述步驟以創建第二個Linux實例(node2)。 完全像Node1一樣配置它。 但是,請確保將其部署到“Subnet2”(us-west-2b可用區)。 Subnet2的IP範圍是10.0.1.0/24,因此這裡使用的IP為10.推出-instance110.1.4:確保也將第二個磁盤添加到Node2。 它應該與您添加到Node1的磁盤大小相同:為第推出-instance12二個實例添加標籤…. “節點2”: 推出-instance13

創造“見證”

重複上述步驟以創建第三個Linux實例(見證)。 完全像Node1和Node2一樣配置它,除了你不需要添加第二個磁盤,因為這個實例只會作為集群的見證,並且不會讓MySQL聯機。確保將其部署到“Subnet3”(us-west-2c可用區)。 Subnet2的IP範圍是10.0.2.0/24,因此這裡使用的I推出-instance14P為10.0.2.4:注意:默認磁盤配置適用於見證節點。 不需要第二個磁盤推出-instance15:標記見證節點: 推出-instance16

您的3個實例可能需要一段時間才能配置。 完成後,您將看到在EC2控制台中列出的正在運行: 推出-instance17

創建彈性IP

接下來,創建一個彈性IP,這是一個公共IP地址,用於從外部世界連接到您的實例。 在左側菜單中選擇彈性IP,然後單擊“分配新地址”:選擇新彈性IP1創建的彈性IP,右鍵單擊,然後選擇“關聯地址”:將此彈性IP與節彈性-IP2點1關聯:如果其他兩個實例重複彈性IP3此操作,請執行以下操作:您希望他們可以訪問互聯網,或者能夠直接通過SSH / VNC訪問它們。

創建虛擬IP的路由條目

此時,已創建所有3個實例,並且需要再次更新路由表,以便群集的虛擬IP能夠正常工作。 在此多子網群集配置中,虛擬IP需要超出分配給VPC的CIDR範圍。定義將流量引導至群集的虛擬IP(10.1.0.10)到主群集節點(Node1)的新路由從VPC儀表板中,選擇“路由表”,然後單擊“編輯”。 添加“10.1.0.10/32”的路由,目的地為Node1: 路由表後實例創建

禁用ENI的源/目的地檢查

接下來,禁用群集節點的彈性網絡接口(ENI)的源/目標檢查。這是實例接受群集的虛擬IP地址的網絡數據包所必需的。為所有ENI執行此操作。選擇“網絡接口”,右鍵單擊ENI,然後選擇“更改源/目標檢查”。禁用源-DEST-CHECK1 選擇“已禁用”: 禁用源-DEST-CHECK2

獲取訪問密鑰ID和秘密訪問密鑰

在本指南的後面部分,集群軟件將使用AWS命令行界面(CLI)來操作集群虛擬IP的路由表條目,以將流量重定向到活動集群節點。 為此,您需要獲取訪問密鑰ID和秘密訪問密鑰,以便AWS CLI可以正確進行身份驗證。在EC2儀表板的右上角,單擊您的名稱,然後從下拉列表中選擇“安全憑證”:展開表格訪問鍵1中的“訪問密鑰(訪問密鑰ID和秘密訪問密鑰)”部分,然後單擊“創建新的訪問密鑰”。 下載密鑰文件並將文件存儲在安全的位置。訪問KEY2

Linux OS配置

連接到linux實例:

要連接到新創建的Linux實例(通過SSH),請右鍵單擊實例並選擇“連接”。 這將顯示連接到實例的說明。 您將需要在上一步中創建/下載的私鑰文件:示CONNECT1例:這CONNECT2裡我們將離開EC2儀表板一段時間,並在命令行上弄髒,作為Linux管理員,您應該使用它到現在為止。您沒有為AWS中的Linux VM(或默認的“ec2-user”帳戶)提供root密碼,因此一旦連接,請使用“sudo”命令獲取root權限:

$ sudo su  - 

編輯/ etc / hosts

除非您已經設置了DNS服務器,否則您需要在所有3台服務器上創建主機文件條目,以便它們可以通過名稱正確地相互解析。將以下行添加到/ etc / hosts文件的末尾:

10.0.0.4 node1
10.0.1.4 node2
10.0.2.4證人
10.1.0.10 mysql-vip

禁用SELinux

編輯/ etc / sysconfig / linux並設置“SELINUX = disabled”:

#vi / etc / sysconfig / selinux

#此文件控制系統上SELinux的狀態。
#SELINUX =可以採用以下三個值中的一個:
#enforcing  - 強制執行SELinux安全策略。
#permissive  -  SELinux打印警告而不是強制執行。
#disabled  - 未加載SELinux策略。
SELINUX =禁用
#SELINUXTYPE =可以採用以下兩個值之一:
#targeted  - 目標進程受到保護,
#mls  - 多級安全保護。
SELINUXTYPE =針對性

設置主機名

默認情況下,這些Linux實例將具有基於服務器IP地址的主機名,例如“ip-10-0-0-4.us-west-2.compute.internal”您可能會注意到,如果您嘗試修改主機名的“正常”方式(即編輯/ etc / sysconfig / network等),每次重啟後,它都會恢復原來的狀態!!我在AWS論壇中發現了一個很棒的主題,它描述瞭如何在重新啟動後實際讓主機名保持靜態。詳細信息:https://forums.aws.amazon.com/message.jspa?messageID = 560446註釋掉在“/etc/cloud/cloud.cfg”文件中設置主機名的模塊。可以使用#註釋掉以下模塊。

# -  set_hostname
# -  update_hostname

接下來,還要在/ etc / hostname中更改主機名。

重新啟動群集節點

重新啟動所有3個實例,以便禁用SELinux,並且主機名更改生效。

安裝和配置VNC(及相關軟件包)

為了訪問我們的linux服務器的GUI,以及稍後安裝和配置我們的集群,安裝VNC服務器,以及一些其他必需的軟件包(集群軟件需要redhat-lsb和patch rpms)。

#yum groupinstall“X Window System”
#yum groupinstall“帶GUI的服務器”
#yum install tigervnc-server xterm wget unzip patch redhat-lsb
#vncpasswd

對於RHEL 7.x / CentOS7.x:以下URL是在RHEL 7 / CentOS 7上運行VNC服務器的一個很好的指南:https://www.digitalocean.com/community/tutorials/how-to-install-and -configure-vnc-remote-access-for-the-gnome-desktop-on-centos-7注意:此示例配置在顯示器2(:2,也稱為端口5902)和root(不安全)上運行VNC。  相應調整!

#cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
#vi /etc/systemd/system/vncserver@:2.service


[服務]
類型=分叉
#清除/tmp/.X11-unix環境中的所有現有文件
ExecStartPre = / bin / sh -c'/ usr / bin / vncserver -kill%i> / dev / null 2>&1 || :“
ExecStart = / sbin / runuser -l root -c“/ usr / bin / vncserver%i -geometry 1024x768”
PIDFILE = /根/ .vnc /%H%i.pid
ExecStop = / bin / sh -c'/ usr / bin / vncserver -kill%i> / dev / null 2>&1 || :“


#systemctl daemon-reload
#systemctl enable vncserver @:2.service
#vncserver:2 -geometry 1024x768

對於RHEL / CentOS 6.x系統:

#vi / etc / sysconfig / vncservers

      VNCSERVERS =“2:根”
      VNCSERVERARGS [2] =“ - 幾何1024x768”

#service vncserver start
#chkconfig vncserver on

打開VNC客戶端,然後連接到<ElasticIP:2>。  如果你無法得到它,那很可能是你的linux防火牆阻礙了它。  打開我們在這裡使用的VNC端口(端口5902),或者暫時禁用防火牆(不推薦用於生產環境):

#systemctl stop firewalld
#systemctl禁用firewalld

 

分區和格式化“數據”磁盤

當linux實例啟動時,額外的磁盤被添加到每個集群節點以存儲我們將要保護的應用程序數據。 在這種情況下,它恰好是MySQL數據庫。第二個磁盤應顯示為/ dev / xvdb。 您可以運行“fdisk -l”命令進行驗證。 您將看到/ dev / xvda(OS)已被使用。

#fdisk -l

磁盤/ dev / xvda:10.7 GB,10737418240字節,20971520扇區單位=扇區1 * 512 = 512字節扇區大小(邏輯/物理):512字節/ 512字節I / O大小(最小/最佳):512字節/ 512字節磁盤標籤類型:gpt #Start結束大小類型名稱1 2048 4095 1M BIOS啟動parti 2 4096 20971486 10G Microsoft基本磁盤/ dev / xvdb:2147 MB,2147483648字節,4194304扇區單位=扇區1 * 512 = 512字節扇區大小(邏輯/物理):512字節/ 512字節I / O大小(最小/最佳):512字節/ 512字節這裡我將創建一個分區(/ dev / xvdb1),格式化它,並將其掛載到默認值MySQL的位置,即/ var / lib / mysql。 在“node1”和“node2”上執行以下步驟:

#fdisk / dev / xvdb
歡迎使用fdisk(util-linux 2.23.2)。

更改將僅保留在內存中,直到您決定編寫它們。
使用write命令前要小心。

設備不包含已識別的分區表
構建一個新的DOS磁盤標籤,磁盤標識符為0x8c16903a。

命令(m求助):n
分區類型:
   p primary(0 primary,0 extended,4 free)
   擴展
選擇(默認p):p
分區號(1-4,默認1):1
第一個扇區(2048-4194303,默認為2048):<enter>
使用默認值2048
最後一個扇區,扇區或大小{K,M,G}(2048-4194303,默認4194303):<enter>
使用默認值4194303
設置類型為Linux且大小為2 GiB的分區1

命令(m求助):w
分區表已被更改!

調用ioctl()重新讀取分區表。
同步磁盤。

#mkfs.ext4 / dev / xvdb1 #mkdir / var / lib / mysql在node1上,掛載文件系統:

#mount / dev / xvdb1 / var / lib / mysql

安裝EC2 API工具

必須在每個群集節點上安裝EC2 API工具(EC2 CLI),以便群集軟件可以在以後操作路由表,從而實現與虛擬IP的連接。以下URL是設置此內容的極好指南:http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html以下是關鍵步驟:下載,解壓縮,並將CLI工具移動到標準位置(/ opt / aws):

#wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
#unzip ec2-api-tools.zip
#mv ec2-api-tools-1.7.5.1 / / opt / aws /
#export EC2_HOME =“/ opt / aws”

如果尚未安裝java(運行“要檢查哪個java”),請安裝它:

#yum install java-1.8.0-openjdk

示例(基於RHEL 7.2系統的默認配置。  相應調整)

#export JAVA_HOME =“/ usr / lib / jvm / java-1.8.0-openjdk-1.8.0.71-2.b15.el7_2.x86_64 / jre /”

您需要AWS Access Key和AWS Secret Key。  保持這些值很方便,因為稍後在集群設置期間也需要它們!有關更多信息,請參閱以下URL:https://console.aws.amazon.com/iam/home?#security_credential

#export AWS_ACCESS_KEY = your-aws-access-key-id
#export AWS_SECRET_KEY = your-aws-secret-key

測試CLI實用程序功能:

#/ opt / aws / bin / ec2-describe-regions

REGION eu-west-1 ec2.eu-west-1.amazonaws.com
REGION ap-southeast-1 ec2.ap-southeast-1.amazonaws.com
REGION ap-southeast-2 ec2.ap-southeast-2.amazonaws.com
REGION eu-central-1 ec2.eu-central-1.amazonaws.com
REGION ap-northeast-2 ec2.ap-northeast-2.amazonaws.com
REGION ap-northeast-1 ec2.ap-northeast-1.amazonaws.com
REGION us-east-1 ec2.us-east-1.amazonaws.com
REGION sa-east-1 ec2.sa-east-1.amazonaws.com
REGION us-west-1 ec2.us-west-1.amazonaws.com
REGION us-west-2 ec2.us-west-2.amazonaws.com

 

安裝和配置MySQL

接下來,安裝安裝MySQL包,初始化示例數據庫,並為MySQL設置“root”密碼。 在RHEL7.X中,MySQL包已經被MariaDB包替換。

在“node1”上:

#yum install mariadb mariadb-server
#mount / dev / xvdb1 / var / lib / mysql
#/ usr / bin / mysql_install_db --datadir =“/ var / lib / mysql /” -  user = mysql
#mysqld_safe --user = root --socket = / var / lib / mysql / mysql.sock --port = 3306 --datadir = / var / lib / mysql --log&
#
##注意:下一個命令允許來自任何主機的遠程連接。生產不是一個好主意!
#echo“update user set Host ='%'where host ='node1';刷新權限| mysql mysql
#
##將MySQL的root密碼設置為'SIOS'
#echo“update user set Password = PASSWORD('SIOS')其中User ='root'; flush特權”| mysql mysql

創建MySQL配置文件。我們將它放在數據磁盤上(稍後將被複製 – /var/lib/mysql/my.cnf)。 例:

#vi /var/lib/mysql/my.cnf

的[mysqld]
DATADIR =的/ var / lib中/ MySQL的
插座=的/ var / lib中/ MySQL的/的mysql.sock
PID文件= / var / run中/ MariaDB的/ mariadb.pid
用戶=根
端口= 3306
#建議禁用符號鏈接以防止出現各種安全風險
符號鏈接= 0
 
[mysqld_safe的]
對數誤差= /無功/日誌/ MariaDB的/ mariadb.log
PID文件= / var / run中/ MariaDB的/ mariadb.pid 
 
[客戶]
用戶=根
密碼= SIOS

將原始MySQL配置文件移到一邊(如果存在):

#mv /etc/my.cnf /etc/my.cnf.orig

在“node2”上:

在“node2”上,您只需要安裝MariaDB / MySQL軟件包。 其他步驟不是必需的:

[root @ node2~] #yum install mariadb mariadb-server

安裝和配置群集

此時,我們已準備好安裝和配置我們的集群。 SIOS Protection Suite for Linux(又名SPS-Linux)將在本指南中用作群集技術。 它在單個集成解決方案中提供高可用性故障轉移群集功能(LifeKeeper)以及實時,塊級數據複製(DataKeeper)。 SPS-Linux使您能夠部署“SANLess”集群,即“無共享”集群,這意味著集群節點沒有任何共享存儲,就像EC2實例一樣。

安裝適用於Linux的SIOS Protection Suite

在所有3個VM(node1,node2,見證)上執行以下步驟:下載SPS-Linux安裝映像文件(sps.img),並獲取試用許可證或購買永久許可證。 有關更多信息,請聯繫SIOS。您將環回安裝它並以root身份運行“setup”腳本(或首先“sudo su – ”以獲取根shell)例如:

#mkdir / tmp / install
#mount -o loop sps.img / tmp / install
#cd / tmp / install
# 。/建立

在安裝腳本期間,系統會提示您回答一些問題。 您將在幾乎每個屏幕上按Enter鍵以接受默認值。 請注意以下例外情況:

  • 在標題為“High Availability NFS”的屏幕上,您可以選擇“n”,因為我們不會創建高可用性NFS服務器
  • 在安裝腳本結束時,您可以選擇立即或稍後安裝試用許可證密鑰。我們稍後會安裝許可證密鑰,因此您可以安全地選擇“n”
  • 在“設置”的最後一個屏幕中,從屏幕上顯示的列表中選擇要安裝的ARK(應用程序恢復工具包,即“群集代理”)。
    • 僅在“node1”和“node2”上需要ARK。 你不需要在“見證”上安裝
    • 使用向上/向下箭頭導航列表,然後按空格鍵選擇以下內容:
      • lkDR – 適用於Linux的DataKeeper
      • lkSQL – LifeKeeper MySQL RDBMS恢復工具包
    • 這將導致在“node1”和“node2”上安裝以下附加RPM:
      • SteelEye公司 – LKDR-9.0.2-6513.noarch.rpm
      • SteelEye公司 – lkSQL-9.0.2-6513.noarch.rpm

安裝Witness / Quorum包

LifeKeeper(steeleye-lkQWK)的Quorum / Witness服務器支持包與LifeKeeper核心的現有故障轉移過程相結合,可以在總體網絡故障常見的情況下以更大的可信度進行系統故障轉移。這實際上意味著可以在大大降低“裂腦”情況的風險的同時進行故障轉移。在所有3個節點(node1,node2,見證)上安裝Witness / Quorum rpm:

#cd / tmp / install / quorum
#rpm -Uvh steeleye-lkQWK-9.0.2-6513.noarch.rpm

在所有3個節點(node1,node2,見證)上,編輯/ etc / default / LifeKeeper,設置NOBCASTPING = 1僅打開見證服務器(“見證”),編輯/ etc / default / LifeKeeper,設置WITNESS_MODE = off / none

安裝EC2恢復工具包

SPS-Linux提供了特定功能,允許資源在不同可用區域和區域中的節點之間進行故障轉移。這裡,EC2恢復工具包(即集群代理)用於操作路由表,以便將與虛擬IP的連接路由到活動集群節點。安裝EC2 rpm(node1,node2):

#cd / tmp / install / amazon
#rpm -Uvh steeleye-lkECC-9.0.2-6513.noarch.rpm

安裝許可證密鑰

在所有3個節點上,使用“lkkeyins”命令安裝從SIOS獲取的許可證文件:

#/ opt / LifeKeeper / bin / lkkeyins <path_to_file> / <filename> .lic

啟動LifeKeeper

在所有3個節點上,使用“lkstart”命令啟動集群軟件:

#/ opt / LifeKeeper / bin / lkstart

設置LifeKeeper GUI的用戶權限

在所有3個節點上,創建一個新的linux用戶帳戶(在本例中為“tony”)。 編輯/ etc / group並將“tony”用戶添加到“lkadmin”組以授予對LifeKeeper GUI的訪問權限。 默認情況下,只有“root”是該組的成員,我們在此處沒有root密碼:

#useradd tony
#passwd tony
#vi / etc / group

lkadmin:X:1001:根,貝

打開LifeKeeper GUI

與node1的彈性IP(公共IP)地址建立VNC連接。 根據上面的VNC配置,您將使用之前指定的VNC密碼連接到<Public_IP>:2。 登錄後,打開終端窗口並使用以下命令運行LifeKeeper GUI:

#/ opt / LifeKeeper / bin / lkGUIapp&

系統將提示您連接到第一個群集節點(“node1”)。 輸入在VM創建期間指定的linux用戶標識和密碼:LK-GUI的CONNECT1接下來,通過單擊以下屏幕截圖中突出顯示的“連接到服務器”按鈕連接到“node2”和“witnessLK-GUI的CONNECT2”:您現在應該看到GUI中的所有3個服務器,一個綠色的複選標記圖標,表明他們在線和健康: LK-GUI的連接3

創建溝通路徑

右鍵單擊“node1”並選擇Create Comm Patcomm path1h選擇BOTH“node2”和“witness”,然後按照嚮導進行操作。 這將創建以下之間的通信路徑:

  • node1和node2
  • node1&witness

comm path2 仍然需要在node2和witness之間創建comm路徑。  右鍵單擊“node2”並選擇Create Comm Path。 按照嚮導選擇“見證”作為遠程服comm path3務器:此時已創建以下通信路徑:

  • node1 < – > node2
  • node1 < – >見證
  • node2 < – >見證

服務器前面的圖標已從綠色“複選標記”更改為黃色“危險標記”。 這是因為我們在節點之間只有一條通信路徑。如果VM具有多個NIC(可以在此處找到有關創建具有多個NIC的Azure VM的信息,但本文不會介紹這些信息),則可以在每個服務器之間創建冗餘通信路徑。comm path4 要刪除警告圖標,請轉到“查看”菜單,然後取消選擇“Comm Path Redundancy Warningcomm path5”:結果: comm path6

驗證通信路徑

使用“lcdstatus”命令查看群集資源的狀態。 運行以下命令以驗證是否已在每個節點上正確創建了與所涉及的其他兩個服務器的通信路徑:#/ opt / LifeKeeper / bin / lcdstatus -q -d node1 MACHINE NETWORK ADDRESSES / DEVICE STATE PRIO node2 TCP 10.0.0.4/ 10.0.1.4 ALIVE 1見證TCP 10.0.0.4/10.0.2.4 ALIVE 1#/ opt / LifeKeeper / bin / lcdstatus -q -d node2 MACHINE NETWORK ADDRESSES / DEVICE STATE PRIO node1 TCP 10.0.1.4/10.0.0.4 ALIVE 1見證TCP 10.0.1.4/10.0.2.4 ALIVE 1#/ opt / LifeKeeper / bin / lcdstatus -q -d witness MACHINE NETWORK ADDRESSES / DEVICE STATE PRIO node1 TCP 10.0.2.4/10.0.0.4 ALIVE 1 node2 TCP 10.0.2.4/10.0.1.4活著1

創建數據複製群集資源(即 鏡子)

接下來,創建數據複製資源以將/ var / lib / mysql分區從node1(source)複製到node2(target)。 單擊“綠色加號”圖標以創建新資數據複製1源:按照嚮導進行以下選擇:

請選擇恢復工具包:數據複製
轉換類型:智能
服務器:node1
層次結構類型:複製退出文件系統
現有的掛載點:/ var / lib / mysql
數據複製資源標記:datarep-mysql
文件系統資源選項卡:/ var / lib / mysql
位圖文件:(默認值)
啟用異步複製:否

創建資源後,將出現“擴展”(即定義備份服務器)嚮導。 使用以下選項:

目標服務器:node2
轉換類型:智能
模板優先級:1
目標優先級:10
目標磁盤:/ dev / xvdb1
數據複製資源標記:datarep-mysql
位圖文件:(默認值)
複製路徑:10.0.0.4/10.0.1.4
掛載點:/ var / lib / mysql
根標籤:/ var / lib / mysql

群集將如下所示: 數據複製2

創建虛擬IP

接下來,創建虛擬IP群集資源。 單擊“綠色加號”圖標以創建新虛擬ip1資源:按照嚮導使用以下選項創建IP資源:

選擇Recovery Kit:IP
轉換類型:智能
IP資源:10.1.0.10
網絡掩碼:255.255.255.0
網絡接口:eth0
IP資源標記:ip-10.1.0.10

使用以下選項擴展IP資源:

轉換類型:智能
模板優先級:1
目標優先級:10
IP資源:10.1.0.10
網絡掩碼:255.255.255.0
網絡接口:eth0
IP資源標記:ip-10.1.0.10

現在,群集將顯示如下,同時創建鏡像和IP資源: 簇後鏡和 - VIP

配置IP資源的Ping列表

默認情況下,SPS-Linux通過執行廣播ping來監視IP資源的運行狀況。 在許多虛擬和雲環境中,廣播ping不起作用。 在上一步中,我們在/ etc / default / LifeKeeper中設置“NOBCASTPING = 1”以關閉廣播ping檢查。相反,我們將定義一個ping列表。 這是在此IP資源的IP運行狀況檢查期間要ping的IP地址列表。  在本指南中,我們將見證服務器(10.0.2.4)添加到我們的ping列表中。右鍵單擊IP資源(ip-10.1.0.10)並選擇PropeAWS-PING-列表1rties:您將看到最初沒有為我們的10.1.0.0子網配置ping列表。  單擊“修改Ping列AWS-PING-列表2表”:輸入“10.0.2.4”(見證服務器的IP地址),單擊“添加地址”,最後單擊“AWS-PING-項目list3保存列表”:您將返回到IP屬性面板,並可以驗證10.0.2.4已添加到ping列表中。 單擊“確定”關閉窗口: AWS-PING-list4

創建MySQL資源層次結構

接下來,創建一個MySQL集群資源。 MySQL資源負責停止/啟動/監視MySQL數據庫。在創建MySQL資源之前,請確保數據庫正在運行。 運行“ps -ef | grep sql“要檢查。如果它正在運行,很棒 – 沒什麼可做的。 如果沒有,請備份數據庫:

#mysqld_safe --user = root --socket = / var / lib / mysql / mysql.sock --port = 3306 --datadir = / var / lib / mysql --log&

要創建,請單擊“綠色加號”圖標以創建新資源:按照嚮導使用以下選項創建IP資源:

選擇Recovery Kit:MySQL Database
轉換類型:智能
服務器:node1
my.cnf的位置:/ var / lib / mysql
MySQL可執行文件的位置:/ usr / bin
數據庫標籤:mysql

使用以下選項擴展IP資源:

目標服務器:node2
轉換類型:智能
模板優先級:1
目標優先級:10

因此,您的群集將如下所示。 請注意,數據複製資源已自動移動到數據庫下(自動創建依賴關係),以確保它始終在數據庫之前聯機: AWS-後的mysql-資源1

創建EC2資源以在故障轉移時管理路由表

   

 
 
 
 
 
 
 
 
 
 

 

 
 
 
 
 

   

 

     

測試群集連接

  

 

 

 

 

 
  
 
  
 
  
 
 

   

 
 
  
 
 
  
 
  
 
  
 
 

 

Filed Under: 伺服器集群简单化 Tagged With: Linux故障轉移群集

Microsoft Azure IaaS中的Linux故障轉移群集,沒有共享存儲

19 12 月, 2018 by Jason Aw Leave a Comment

循序漸進:如何在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集#azan #sanless

在本分步指南中,我將向您介紹在Microsoft Azure IaaS(基礎架構即服務)中配置高可用性2節點MySQL群集(以及見證服務器)所需的所有步驟。 該指南包括適當的屏幕截圖,shell命令和代碼片段。 我假設您對Microsoft Azure有點熟悉,並且已經擁有一個具有關聯訂閱的Azure帳戶。 如果沒有,您今天就可以註冊一個免費帳戶。 我還將假設您具有基本的Linux系統管理技能,並了解基本的故障轉移群集概念,如虛擬IP等。

免責聲明:Azure是一個快速發展的目標。 它每天都在變得越來越好!因此,功能/屏幕/按鈕必然會隨著時間的推移而發生變化,因此您的體驗可能會與您在下面看到的略有不同。 雖然本指南將向您展示如何使MySQL數據庫具有高可用性,但您當然可以調整此信息和流程以保護其他應用程序或數據庫,如SAP,Oracle,PostgreSQL,NFS文件服務器等。以下是在Microsoft Azure IaaS中創建高可用性MySQL數據庫的高級步驟:

  1. 創建資源組
  2. 創建一個虛擬網絡
  3. 創建存儲帳戶
  4. 在可用性集中創建虛擬機
  5. 設置虛擬機靜態IP地址
  6. 將數據磁盤添加到群集節點
  7. 創建入站安全規則以允許VNC訪問
  8. Linux OS配置
  9. 安裝和配置MySQL
  10. 安裝和配置群集
  11. 創建內部負載均衡器
  12. 測試群集連接

概觀

本文將介紹在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集的步驟。它將介紹如何在單個Azure區域中創建集群。 由於新的Azure資源管理器(ARM),群集節點(node1,node2和見證服務器)將駐留在可用性集(3個不同的故障域和更新域)中。我們將使用新的Azure資源管理器創建所有資源。配置如下所示:將集群圖使用以下IP地址:

  • node1:10.0.0.4
  • node2:10.0.0.5
  • 見證人:10.0.0.6
  • 虛擬/“浮動”IP:10.0.0.99
  • MySQL端口:3306

創建資源組

首先,創建一個資源組。 您的資源組最終將包含與我們的集群部署相關的所有各種對象:虛擬機,虛擬網絡,存儲帳戶等。 在這裡,我們將調用我們新創建的資源組“cluster-resources”。 資源組1 選擇您所在地區時請注意。 您的所有資源都需要位於同一區域內。 在這裡,我們將把所有內容部署到“美國西部”地區: 資源組2

創建虛擬網絡(VNet)

創建虛擬網絡將是您在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集的下一步。虛擬網絡是Azure雲中專用於您的隔離網絡。 您可以完全控制IP地址塊和子網,路由,安全策略(即防火牆),DNS設置等內容。 您將在您的虛擬網絡中啟動Azure Iaas虛擬機(VM)。虛擬網絡1 每當您獲得選項時,請確保選擇“資源管理器”作為部署模型虛擬網絡2:為新虛擬網絡命名(“虛擬網絡”),並確保選擇在上一步驟中創建的資源組(“群集 – 資源“)。 您的虛擬網絡需要與資源組位於同一區域。 我們將保留IP地址和子網值作為默認值。虛擬網絡3

創建存儲帳戶

在配置任何虛擬機之前,您需要創建存儲它們的存儲帳戶。存儲帳戶1 同樣,請確保在任何時候選擇“資源管理器”作為部署模型:接存儲帳戶2下來,為新存儲帳戶命名。 存儲帳戶名稱在* ALL * Azure中必須是唯一的。 (存儲在Azure存儲中的每個對像都具有唯一的URL地址。存儲帳戶名稱構成該地址的子域。)在此示例中,我將存儲帳戶稱為“linuxclusterstorage”,但您需要在設置自己的存儲帳戶時選擇不同的存儲帳戶。根據您的要求和預算選擇存儲類型。 為了本指南的目的,我選擇了“Standard-LRS”(即 本地冗餘)以最小化成本。確保您的新存儲帳戶已添加到您在同一位置(本示例中為“West US”)的步驟1(“cluster-resources”)中創建的資源組中: 存儲帳戶3

在可用性集中創建虛擬機

我們將在本指南中配置3台虛擬機。 前兩個VM(我稱之為“node1”和“node2”)將作為集群節點運行,能夠將MySQL數據庫及其相關資源聯機。 第三個VM將充當群集的見證服務器,以增強對裂腦的保護。為確保最大可用性,所有3個VM都將添加到同一可用性集中,以確保它們最終位於不同的故障域和更新域中。

創建“node1”VM

創建第一個VM(“node1”)。 在本指南中,我們將使用CentOS 6.創建vm1X:確保使用Resource Manager部署模型。 默認情況下應該選擇:為創建vm2VM提供主機名(“node1”)和用戶名/密碼,稍後將用於SSH進入系統。 確保將此VM添加到資源組(“cluster-resources”),並且它與所有其他資源位於同一區域創建vm3:接下來,選擇實例大小。 有關可用的各種實例大小的更多信息,請單擊此處。出於本指南的目的,我對Node1和Node2使用“A3 Standard”,以最大限度地降低成本,因為這不會運行生產工作負載。 我為見證服務器使用了更小的“A1標準”大小。 選擇最適合您的實例大小。創建vm4 如果您希望能夠從外部世界連接到VM,請設置公共IP地址。 我這樣做了以後我可以將SSH和VNC引入系創建vm5統重要信息:默認情況下,您的VM不會被添加到可用性集中。 在確保創建新可用性集期間的“設置”屏幕上,我們將調用“cluster-availability-set”。 Azure資源管理器(ARM)允許您創建具有3個故障域的可用性集。 此處的默認值很好:查看創建vm6VM屬性,然後單擊“確定”以創建第一個VM: 創建vm7

創建“node2”和“見證”VM

重複上述步驟兩次以創建另外兩個VM。 我創建了另一個名為“node2”的“A3標準”大小的VM和一個名為“見證”的“A1標準”大小的VM。這裡唯一的區別是,您將把這些虛擬機添加到我們剛剛創建的可用性集(“集群可用性集”)中:您創建vm8的3個虛擬機可能需要一些時間來進行配置。 完成後,您將在Azure門戶的“虛擬機”屏幕上看到您的虛擬機: 創建vm9

設置虛擬機靜態IP地址

將使用以下IP地址設置VM:

  • node1:10.0.0.4
  • node2:10.0.0.5
  • 見證人:10.0.0.6

對每個VM重複此步驟。 選擇VM並編輯網絡接口選靜態IP地址1擇與VM關聯的網絡接口,然後編輯IP地址。 選擇“靜態”並指定所需的IP地址: 靜態IP地址2

將數據磁盤添加到群集節點

接下來,我們需要為我們的集群節點(“node1”和“node2”)添加一個額外的磁盤。 該磁盤將存儲我們的MySQL數據庫,稍後將在節點之間進行複制。注意:您不需要向“見證”節點添加額外的磁盤。 只有“node1”和“node2”。編輯VM,選擇磁盤,然後附加新磁盤:第二個disk1根據工作負載選擇磁盤類型(標准或高級SSD)和大小。 在這裡,我在兩個群集節點上創建一個10GB標準磁盤。 就主機緩存而言,“無”或“只讀”緩存很好。 我不建議使用“讀/寫”,因為可能會丟失數據: 第二個磁盤2

創建入站安全規則以允許VNC訪問

如果您的VM是網絡安全組(NSG)的一部分,默認情況下,除非您在創建VM期間禁用它,否則“Azure防火牆”中打開的唯一端口是SSH(端口22)。 在本指南的後面,我將使用VNC訪問“node1”的桌面並使用GUI配置集群。 創建入站安全規則以打開VNC訪問。 在該指南中使用端口5902。 根據您的VNC配置進行調整。虛擬機 – >(選擇節點1) – >網絡接口 – >(選擇網卡) – >網絡安全組 – >(選擇NSG) – >入站安全規則 – >添加 入站安全規則1

Linux OS配置

這裡我們將離開Azure門戶一段時間,並在命令行上弄髒我們,作為Linux管理員,您現在應該習慣這樣做。 您沒有獲得Azure中Linux VM的root密碼,因此一旦您以創建VM期間指定的用戶身份登錄,請使用“sudo”命令獲取root權限:

$ sudo su  - 

編輯/ etc / hosts

除非您已經設置了DNS服務器,否則您需要在所有3台服務器上創建主機文件條目,以便它們可以通過名稱正確地相互解析。將以下行添加到/ etc / hosts文件的末尾:

10.0.0.4 node1
10.0.0.5 node2
10.0.0.6目擊者
10.0.0.99 mysql-vip

禁用SELinux

編輯/ etc / sysconfig / linux並設置“SELINUX = disabled”:

#vi / etc / sysconfig / selinux

#此文件控制系統上SELinux的狀態。
#SELINUX =可以採用以下三個值中的一個:
#enforcing  - 強制執行SELinux安全策略。
#permissive  -  SELinux打印警告而不是強制執行。
#disabled  - 未加載SELinux策略。
SELINUX =禁用
#SELINUXTYPE =可以採用以下兩個值之一:
#targeted  - 目標進程受到保護,
#mls  - 多級安全保護。
SELINUXTYPE =針對性

配置iptables,以便集群虛擬IP可以正常工作

重要信息:為了使群集虛擬IP能夠連接並且還要監視IP資源,需要設置一些iptables規則。 注意:10.0.0.99是我們將在群集中使用的虛擬IP,3306是我的MySQL使用的默認端口。在node1(10.0.0.4)上,運行以下命令:

#iptables --flush
#iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT 
 - 到目的地10.0.0.99:303
#iptables -t nat -A POSTROUTING -p icmp -s 10.0.0.99 -j SNAT 
--to-source 10.0.0.4
#service iptables save
#chkconfig iptables on

在Node2(10.0.0.5)上,運行以下命令:

#iptables --flush
#iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT 
 - 到目的地10.0.0.99:303
#iptables -t nat -A POSTROUTING -p icmp -s 10.0.0.99 -j SNAT 
--to-source 10.0.0.5
#service iptables save
#chkconfig iptables on

安裝和配置VNC(及相關軟件包)

要訪問我們的Linux服務器的GUI,以便稍後配置我們的集群,請在您的集群節點上安裝VNC服務器。 在我的設置中,我只在“node1”上執行此操作

#yum install tigervnc-server xterm
#vncpasswd
#vi / etc / sysconfig / vncservers

      VNCSERVERS =“2:根”
      VNCSERVERARGS [2] =“ - 幾何1024x768”

#service vncserver start
#chkconfig vncserver on

通過在筆記本電腦/台式機上打開VNC客戶端並連接到群集節點的公共IP來測試連接性

重新啟動群集節點

重新啟動群集節點,以便禁用SELinux,並檢測先前添加的第二個磁盤。只需要重新啟動“node1”和“node2”。

分區和格式化“數據”磁盤

在本指南的第6步(“將數據磁盤添加到群集節點”中),我們只是… …為每個群集節點添加了一個額外的磁盤,以存儲我們將要保護的應用程序數據。 在這種情況下,它恰好是MySQL數據庫。在Azure IaaS中,Linux虛擬機對磁盤使用以下安排:

  • / dev / sda – 操作系統磁盤
  • / dev / sdb – 臨時磁盤
  • / dev / sdc – 第一個數據磁盤
  • / dev / sdd – 第二個數據磁盤
  • …
  • / dev / sdj – 第8個數據磁盤

我們在本指南的第6步中添加的磁盤應顯示為/ dev / sdc。 您可以運行“fdisk -l”命令進行驗證。 您將看到/ dev / sda(OS)和/ dev / sdb(臨時)已經有磁盤分區並正在使用。

#fdisk -l

磁盤/ dev / sdb:306.0 GB,306016419840字節
255個頭,63個扇區/軌道,37204個氣缸
單位= 16065 * 512 = 8225280字節的柱面
扇區大小(邏輯/物理):512字節/ 512字節
I / O大小(最小/最佳):512字節/ 512字節
磁盤標識符:0xd3920649

設備啟動開始結束塊ID系統
/ dev / sdb1 * 1 37205 298842112 83 Linux

磁盤/ dev / sdc:10.7 GB,10737418240字節
255個頭,63個扇區/軌道,1305個氣缸
單位= 16065 * 512 = 8225280字節的柱面
扇區大小(邏輯/物理):512字節/ 512字節
I / O大小(最小/最佳):512字節/ 512字節
磁盤標識符:0x00000000

磁盤/ dev / sda:32.2 GB,32212254720字節
255個頭,63個扇區/軌道,3916個氣缸
單位= 16065 * 512 = 8225280字節的柱面
扇區大小(邏輯/物理):512字節/ 512字節
I / O大小(最小/最佳):512字節/ 512字節
磁盤標識符:0x000c23d3

設備啟動開始結束塊ID系統
/ dev / sda1 * 1 3789 30432256 83 Linux
/ dev / sda2 3789 3917 1024000 82 Linux swap / Solaris

  在這裡,我將創建一個分區(/ dev / sdc1),對其進行格式化,並將其掛載到MySQL的默認位置,即/ var / lib / mysql。 在“node1”和“node2”上執行以下步驟:

#fdisk / dev / sdc
命令(m求助):n
命令行動
擴展
p主分區(1-4)
p
分區號(1-4):1
第一個柱面(1-1305,默認值1):<enter>
使用默認值1
最後一個氣缸,氣缸或尺寸{K,M,G}(1-1305,默認1305):<enter>
使用默認值1305
 
命令(m求助):w
分區表已被更改!
調用ioctl()重新讀取分區表。
同步磁盤。
[root @ node1~]#

#mkfs.ext4 / dev / sdc1
#mkdir / var / lib / mysql

在node1上,掛載文件系統:

#mount / dev / sdc1 / var / lib / mysql

安裝並配置MySQL

接下來,安裝安裝MySQL包,初始化示例數據庫,並為MySQL設置“root”密碼。

在“node1”上:

#yum -y install mysql mysql-server
#/ usr / bin / mysql_install_db --datadir =“/ var / lib / mysql /” -  user = mysql
#mysqld_safe --user = root --socket = / var / lib / mysql / mysql.sock --port = 3306 
--datadir = / var / lib / mysql --log&
#
##注意:下一個命令允許來自任何主機的遠程連接。
生產不是一個好主意!
#echo“update user set Host ='%'where host ='node1';刷新權限| mysql mysql
#
##將MySQL的root密碼設置為'SIOS'
#echo“update user set Password = PASSWORD('SIOS')其中User ='root'; flush特權” 
| mysql mysql

創建MySQL配置文件。我們將它放在數據磁盤上(稍後將被複製 – /var/lib/mysql/my.cnf)。 例:

#vi /var/lib/mysql/my.cnf

的[mysqld]
DATADIR =的/ var / lib中/ MySQL的
插座=的/ var / lib中/ MySQL的/的mysql.sock
PID文件=的/ var / lib中/ MySQL的/ mysqld.pid
用戶=根
端口= 3306
#建議禁用符號鏈接以防止出現各種安全風險
符號鏈接= 0
 
[mysqld_safe的]
對數誤差=的/ var /數/ mysqld.log
PID文件= / var / run中/ mysqld的/ mysqld.pid
 
[客戶]
用戶=根
密碼= SIOS

刪除位於/ etc中的原始MySQL配置文件(如果存在):

#rm /etc/my.cnf

在“node2”上:

在“node2”上,您只需要安裝MySQL軟件包。 其他步驟不是必需的:

[root @ node2~] #yum -y install mysql mysql-server

安裝和配置群集

此時,我們已準備好安裝和配置我們的集群。 SIOS Protection Suite for Linux(又名SPS-Linux)將在本指南中用作群集技術。 它在單個集成解決方案中提供高可用性故障轉移群集功能(LifeKeeper)以及實時,塊級數據複製(DataKeeper)。 SPS-Linux使您能夠部署“SANLess”群集,即“無共享”群集,這意味著群集節點沒有任何共享存儲,就像Azure VM一樣。

安裝適用於Linux的SIOS Protection Suite

在所有3個VM(node1,node2,見證)上執行以下步驟:下載SPS-Linux安裝映像文件(sps.img),並獲取試用許可證或購買永久許可證。 有關更多信息,請聯繫SIOS。您將環回安裝它並以root身份運行“setup”腳本(或首先“sudo su – ”以獲取根shell)例如:

#mkdir / tmp / install
#mount -o loop sps.img / tmp / install
#cd / tmp / install
# 。/建立

在安裝腳本期間,系統會提示您回答一些問題。 您將在幾乎每個屏幕上按Enter鍵以接受默認值。 請注意以下例外情況:

  • 在標題為“High Availability NFS”的屏幕上,您可以選擇“n”,因為我們不會創建高可用性NFS服務器
  • 在安裝腳本結束時,您可以選擇立即或稍後安裝試用許可證密鑰。我們稍後會安裝許可證密鑰,因此您可以安全地選擇“n”
  • 在“設置”的最後一個屏幕中,從屏幕上顯示的列表中選擇要安裝的ARK(應用程序恢復工具包,即“群集代理”)。
    • 僅在“node1”和“node2”上需要ARK。 你不需要在“見證”上安裝
    • 使用向上/向下箭頭導航列表,然後按空格鍵選擇以下內容:
      • lkDR – 適用於Linux的DataKeeper
      • lkSQL – LifeKeeper MySQL RDBMS恢復工具包
    • 這將導致在“node1”和“node2”上安裝以下附加RPM:
      • SteelEye公司 – LKDR-9.0.2-6513.noarch.rpm
      • SteelEye公司 – lkSQL-9.0.2-6513.noarch.rpm

安裝Witness / Quorum包

LifeKeeper(steeleye-lkQWK)的Quorum / Witness服務器支持包與LifeKeeper核心的現有故障轉移過程相結合,可以在總體網絡故障常見的情況下以更大的可信度進行系統故障轉移。這實際上意味著可以在大大降低“裂腦”情況的風險的同時進行故障轉移。在所有3個節點(node1,node2,見證)上安裝Witness / Quorum rpm:

#cd / tmp / install / quorum
#rpm -Uvh steeleye-lkQWK-9.0.2-6513.noarch.rpm

在所有3個節點(node1,node2,見證)上,編輯/ etc / default / LifeKeeper,設置NOBCASTPING = 1僅打開見證服務器(“見證”),編輯/ etc / default / LifeKeeper,設置WITNESS_MODE = off / none

安裝許可證密鑰

在所有3個節點上,使用“lkkeyins”命令安裝從SIOS獲取的許可證文件:

#/ opt / LifeKeeper / bin / lkkeyins <path_to_file> / <filename> .lic

啟動LifeKeeper

在所有3個節點上,使用“lkstart”命令啟動集群軟件:

#/ opt / LifeKeeper / bin / lkstart

設置LifeKeeper GUI的用戶權限

在所有3個節點上,編輯/ etc / group並將“tony”用戶(或在VM創建期間指定的任何用戶名)添加到“lkadmin”組以授予對LifeKeeper GUI的訪問權限。 默認情況下,只有“root”是該組的成員,並且我們沒有root密碼:

#vi / etc / group

lkadmin:X:1001:根,貝

打開LifeKeeper GUI

與node1的公共IP地址建立VNC連接。 根據上面的VNC和入站安全規則配置,您將使用之前指定的VNC密碼連接到<Public_IP>:2。 登錄後,打開終端窗口並使用以下命令運行LifeKeeper GUI:

#/ opt / LifeKeeper / bin / lkGUIapp&

系統將提示您連接到第一個群集節點(“node1”)。 LK-GUI的連接3

 

  

  •  
  •  

    

  •  
  •  
  •  

       

 

  

  

  

 
 
 
 
 
 
 
 
 

  

 
 
 
 
 
 
 
 
 
 

  

 

  

 
 
 
 
 
 

 

 
 
 
 
 
 
 

 

          

 

   

 
 
 
 
 
 

 

 
 
 
 

   

 

       

 

               

 

  

 

 

 

 

 
  
 
  
 
  
 
 

   

 
 
  
 
 
  
 
  
 
  
 
 

 

Filed Under: 伺服器集群简单化 Tagged With: 沒有共享存儲的microsoft azure iaas中的linux故障轉移群集

Microsoft Azure IaaS中的Linux故障轉移群集,沒有共享存儲

19 12 月, 2018 by Jason Aw Leave a Comment

循序漸進:如何在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集#azan #sanless

在本分步指南中,我將向您介紹在Microsoft Azure IaaS(基礎架構即服務)中配置高可用性2節點MySQL群集(以及見證服務器)所需的所有步驟。 該指南包括適當的屏幕截圖,shell命令和代碼片段。 我假設您對Microsoft Azure有點熟悉,並且已經擁有一個具有關聯訂閱的Azure帳戶。 如果沒有,您今天就可以註冊一個免費帳戶。 我還將假設您具有基本的Linux系統管理技能,並了解基本的故障轉移群集概念,如虛擬IP等。

免責聲明:Azure是一個快速發展的目標。 它每天都在變得越來越好!因此,功能/屏幕/按鈕必然會隨著時間的推移而發生變化,因此您的體驗可能會與您在下面看到的略有不同。 雖然本指南將向您展示如何使MySQL數據庫具有高可用性,但您當然可以調整此信息和流程以保護其他應用程序或數據庫,如SAP,Oracle,PostgreSQL,NFS文件服務器等。以下是在Microsoft Azure IaaS中創建高可用性MySQL數據庫的高級步驟:

  1. 創建資源組
  2. 創建一個虛擬網絡
  3. 創建存儲帳戶
  4. 在可用性集中創建虛擬機
  5. 設置虛擬機靜態IP地址
  6. 將數據磁盤添加到群集節點
  7. 創建入站安全規則以允許VNC訪問
  8. Linux OS配置
  9. 安裝和配置MySQL
  10. 安裝和配置群集
  11. 創建內部負載均衡器
  12. 測試群集連接

概觀

本文將介紹在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集的步驟。它將介紹如何在單個Azure區域中創建集群。 由於新的Azure資源管理器(ARM),群集節點(node1,node2和見證服務器)將駐留在可用性集(3個不同的故障域和更新域)中。我們將使用新的Azure資源管理器創建所有資源。配置如下所示:將集群圖使用以下IP地址:

  • node1:10.0.0.4
  • node2:10.0.0.5
  • 見證人:10.0.0.6
  • 虛擬/“浮動”IP:10.0.0.99
  • MySQL端口:3306

創建資源組

首先,創建一個資源組。 您的資源組最終將包含與我們的集群部署相關的所有各種對象:虛擬機,虛擬網絡,存儲帳戶等。 在這裡,我們將調用我們新創建的資源組“cluster-resources”。 資源組1 選擇您所在地區時請注意。 您的所有資源都需要位於同一區域內。 在這裡,我們將把所有內容部署到“美國西部”地區: 資源組2

創建虛擬網絡(VNet)

創建虛擬網絡將是您在沒有共享存儲的Microsoft Azure IaaS中配置Linux故障轉移群集的下一步。虛擬網絡是Azure雲中專用於您的隔離網絡。 您可以完全控制IP地址塊和子網,路由,安全策略(即防火牆),DNS設置等內容。 您將在您的虛擬網絡中啟動Azure Iaas虛擬機(VM)。虛擬網絡1 每當您獲得選項時,請確保選擇“資源管理器”作為部署模型虛擬網絡2:為新虛擬網絡命名(“虛擬網絡”),並確保選擇在上一步驟中創建的資源組(“群集 – 資源“)。 您的虛擬網絡需要與資源組位於同一區域。 我們將保留IP地址和子網值作為默認值。虛擬網絡3

創建存儲帳戶

在配置任何虛擬機之前,您需要創建存儲它們的存儲帳戶。存儲帳戶1 同樣,請確保在任何時候選擇“資源管理器”作為部署模型:接存儲帳戶2下來,為新存儲帳戶命名。 存儲帳戶名稱在* ALL * Azure中必須是唯一的。 (存儲在Azure存儲中的每個對像都具有唯一的URL地址。存儲帳戶名稱構成該地址的子域。)在此示例中,我將存儲帳戶稱為“linuxclusterstorage”,但您需要在設置自己的存儲帳戶時選擇不同的存儲帳戶。根據您的要求和預算選擇存儲類型。 為了本指南的目的,我選擇了“Standard-LRS”(即 本地冗餘)以最小化成本。確保您的新存儲帳戶已添加到您在同一位置(本示例中為“West US”)的步驟1(“cluster-resources”)中創建的資源組中: 存儲帳戶3

在可用性集中創建虛擬機

我們將在本指南中配置3台虛擬機。 前兩個VM(我稱之為“node1”和“node2”)將作為集群節點運行,能夠將MySQL數據庫及其相關資源聯機。 第三個VM將充當群集的見證服務器,以增強對裂腦的保護。為確保最大可用性,所有3個VM都將添加到同一可用性集中,以確保它們最終位於不同的故障域和更新域中。

創建“node1”VM

創建第一個VM(“node1”)。 在本指南中,我們將使用CentOS 6.創建vm1X:確保使用Resource Manager部署模型。 默認情況下應該選擇:為創建vm2VM提供主機名(“node1”)和用戶名/密碼,稍後將用於SSH進入系統。 確保將此VM添加到資源組(“cluster-resources”),並且它與所有其他資源位於同一區域創建vm3:接下來,選擇實例大小。 有關可用的各種實例大小的更多信息,請單擊此處。出於本指南的目的,我對Node1和Node2使用“A3 Standard”,以最大限度地降低成本,因為這不會運行生產工作負載。 我為見證服務器使用了更小的“A1標準”大小。 選擇最適合您的實例大小。創建vm4 如果您希望能夠從外部世界連接到VM,請設置公共IP地址。 我這樣做了以後我可以將SSH和VNC引入系創建vm5統重要信息:默認情況下,您的VM不會被添加到可用性集中。 在確保創建新可用性集期間的“設置”屏幕上,我們將調用“cluster-availability-set”。 Azure資源管理器(ARM)允許您創建具有3個故障域的可用性集。 此處的默認值很好:查看創建vm6VM屬性,然後單擊“確定”以創建第一個VM: 創建vm7

創建“node2”和“見證”VM

重複上述步驟兩次以創建另外兩個VM。 我創建了另一個名為“node2”的“A3標準”大小的VM和一個名為“見證”的“A1標準”大小的VM。這裡唯一的區別是,您將把這些虛擬機添加到我們剛剛創建的可用性集(“集群可用性集”)中:您創建vm8的3個虛擬機可能需要一些時間來進行配置。 完成後,您將在Azure門戶的“虛擬機”屏幕上看到您的虛擬機: 創建vm9

設置虛擬機靜態IP地址

將使用以下IP地址設置VM:

  • node1:10.0.0.4
  • node2:10.0.0.5
  • 見證人:10.0.0.6

對每個VM重複此步驟。 選擇VM並編輯網絡接口選靜態IP地址1擇與VM關聯的網絡接口,然後編輯IP地址。 選擇“靜態”並指定所需的IP地址: 靜態IP地址2

將數據磁盤添加到群集節點

接下來,我們需要為我們的集群節點(“node1”和“node2”)添加一個額外的磁盤。 該磁盤將存儲我們的MySQL數據庫,稍後將在節點之間進行複制。注意:您不需要向“見證”節點添加額外的磁盤。 只有“node1”和“node2”。編輯VM,選擇磁盤,然後附加新磁盤:第二個disk1根據工作負載選擇磁盤類型(標准或高級SSD)和大小。 在這裡,我在兩個群集節點上創建一個10GB標準磁盤。 就主機緩存而言,“無”或“只讀”緩存很好。 我不建議使用“讀/寫”,因為可能會丟失數據: 第二個磁盤2

創建入站安全規則以允許VNC訪問

如果您的VM是網絡安全組(NSG)的一部分,默認情況下,除非您在創建VM期間禁用它,否則“Azure防火牆”中打開的唯一端口是SSH(端口22)。 在本指南的後面,我將使用VNC訪問“node1”的桌面並使用GUI配置集群。 創建入站安全規則以打開VNC訪問。 在該指南中使用端口5902。 根據您的VNC配置進行調整。虛擬機 – >(選擇節點1) – >網絡接口 – >(選擇網卡) – >網絡安全組 – >(選擇NSG) – >入站安全規則 – >添加 入站安全規則1

Linux OS配置

這裡我們將離開Azure門戶一段時間,並在命令行上弄髒我們,作為Linux管理員,您現在應該習慣這樣做。 您沒有獲得Azure中Linux VM的root密碼,因此一旦您以創建VM期間指定的用戶身份登錄,請使用“sudo”命令獲取root權限:

$ sudo su  - 

編輯/ etc / hosts

除非您已經設置了DNS服務器,否則您需要在所有3台服務器上創建主機文件條目,以便它們可以通過名稱正確地相互解析。將以下行添加到/ etc / hosts文件的末尾:

10.0.0.4 node1
10.0.0.5 node2
10.0.0.6目擊者
10.0.0.99 mysql-vip

禁用SELinux

編輯/ etc / sysconfig / linux並設置“SELINUX = disabled”:

#vi / etc / sysconfig / selinux

#此文件控制系統上SELinux的狀態。
#SELINUX =可以採用以下三個值中的一個:
#enforcing  - 強制執行SELinux安全策略。
#permissive  -  SELinux打印警告而不是強制執行。
#disabled  - 未加載SELinux策略。
SELINUX =禁用
#SELINUXTYPE =可以採用以下兩個值之一:
#targeted  - 目標進程受到保護,
#mls  - 多級安全保護。
SELINUXTYPE =針對性

配置iptables,以便集群虛擬IP可以正常工作

重要信息:為了使群集虛擬IP能夠連接並且還要監視IP資源,需要設置一些iptables規則。 注意:10.0.0.99是我們將在群集中使用的虛擬IP,3306是我的MySQL使用的默認端口。在node1(10.0.0.4)上,運行以下命令:

#iptables --flush
#iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT 
 - 到目的地10.0.0.99:303
#iptables -t nat -A POSTROUTING -p icmp -s 10.0.0.99 -j SNAT 
--to-source 10.0.0.4
#service iptables save
#chkconfig iptables on

在Node2(10.0.0.5)上,運行以下命令:

#iptables --flush
#iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT 
 - 到目的地10.0.0.99:303
#iptables -t nat -A POSTROUTING -p icmp -s 10.0.0.99 -j SNAT 
--to-source 10.0.0.5
#service iptables save
#chkconfig iptables on

安裝和配置VNC(及相關軟件包)

要訪問我們的Linux服務器的GUI,以便稍後配置我們的集群,請在您的集群節點上安裝VNC服務器。 在我的設置中,我只在“node1”上執行此操作

#yum install tigervnc-server xterm
#vncpasswd
#vi / etc / sysconfig / vncservers

      VNCSERVERS =“2:根”
      VNCSERVERARGS [2] =“ - 幾何1024x768”

#service vncserver start
#chkconfig vncserver on

通過在筆記本電腦/台式機上打開VNC客戶端並連接到群集節點的公共IP來測試連接性

重新啟動群集節點

重新啟動群集節點,以便禁用SELinux,並檢測先前添加的第二個磁盤。只需要重新啟動“node1”和“node2”。

分區和格式化“數據”磁盤

在本指南的第6步(“將數據磁盤添加到群集節點”中),我們只是… …為每個群集節點添加了一個額外的磁盤,以存儲我們將要保護的應用程序數據。 在這種情況下,它恰好是MySQL數據庫。在Azure IaaS中,Linux虛擬機對磁盤使用以下安排:

  • / dev / sda – 操作系統磁盤
  • / dev / sdb – 臨時磁盤
  • / dev / sdc – 第一個數據磁盤
  • / dev / sdd – 第二個數據磁盤
  • …
  • / dev / sdj – 第8個數據磁盤

我們在本指南的第6步中添加的磁盤應顯示為/ dev / sdc。 您可以運行“fdisk -l”命令進行驗證。 您將看到/ dev / sda(OS)和/ dev / sdb(臨時)已經有磁盤分區並正在使用。

#fdisk -l

磁盤/ dev / sdb:306.0 GB,306016419840字節
255個頭,63個扇區/軌道,37204個氣缸
單位= 16065 * 512 = 8225280字節的柱面
扇區大小(邏輯/物理):512字節/ 512字節
I / O大小(最小/最佳):512字節/ 512字節
磁盤標識符:0xd3920649

設備啟動開始結束塊ID系統
/ dev / sdb1 * 1 37205 298842112 83 Linux

磁盤/ dev / sdc:10.7 GB,10737418240字節
255個頭,63個扇區/軌道,1305個氣缸
單位= 16065 * 512 = 8225280字節的柱面
扇區大小(邏輯/物理):512字節/ 512字節
I / O大小(最小/最佳):512字節/ 512字節
磁盤標識符:0x00000000

磁盤/ dev / sda:32.2 GB,32212254720字節
255個頭,63個扇區/軌道,3916個氣缸
單位= 16065 * 512 = 8225280字節的柱面
扇區大小(邏輯/物理):512字節/ 512字節
I / O大小(最小/最佳):512字節/ 512字節
磁盤標識符:0x000c23d3

設備啟動開始結束塊ID系統
/ dev / sda1 * 1 3789 30432256 83 Linux
/ dev / sda2 3789 3917 1024000 82 Linux swap / Solaris

  在這裡,我將創建一個分區(/ dev / sdc1),對其進行格式化,並將其掛載到MySQL的默認位置,即/ var / lib / mysql。 在“node1”和“node2”上執行以下步驟:

#fdisk / dev / sdc
命令(m求助):n
命令行動
擴展
p主分區(1-4)
p
分區號(1-4):1
第一個柱面(1-1305,默認值1):<enter>
使用默認值1
最後一個氣缸,氣缸或尺寸{K,M,G}(1-1305,默認1305):<enter>
使用默認值1305
 
命令(m求助):w
分區表已被更改!
調用ioctl()重新讀取分區表。
同步磁盤。
[root @ node1~]#

#mkfs.ext4 / dev / sdc1
#mkdir / var / lib / mysql

在node1上,掛載文件系統:

#mount / dev / sdc1 / var / lib / mysql

安裝並配置MySQL

接下來,安裝安裝MySQL包,初始化示例數據庫,並為MySQL設置“root”密碼。

在“node1”上:

#yum -y install mysql mysql-server
#/ usr / bin / mysql_install_db --datadir =“/ var / lib / mysql /” -  user = mysql
#mysqld_safe --user = root --socket = / var / lib / mysql / mysql.sock --port = 3306 
--datadir = / var / lib / mysql --log&
#
##注意:下一個命令允許來自任何主機的遠程連接。
生產不是一個好主意!
#echo“update user set Host ='%'where host ='node1';刷新權限| mysql mysql
#
##將MySQL的root密碼設置為'SIOS'
#echo“update user set Password = PASSWORD('SIOS')其中User ='root'; flush特權” 
| mysql mysql

創建MySQL配置文件。我們將它放在數據磁盤上(稍後將被複製 – /var/lib/mysql/my.cnf)。 例:

#vi /var/lib/mysql/my.cnf

的[mysqld]
DATADIR =的/ var / lib中/ MySQL的
插座=的/ var / lib中/ MySQL的/的mysql.sock
PID文件=的/ var / lib中/ MySQL的/ mysqld.pid
用戶=根
端口= 3306
#建議禁用符號鏈接以防止出現各種安全風險
符號鏈接= 0
 
[mysqld_safe的]
對數誤差=的/ var /數/ mysqld.log
PID文件= / var / run中/ mysqld的/ mysqld.pid
 
[客戶]
用戶=根
密碼= SIOS

刪除位於/ etc中的原始MySQL配置文件(如果存在):

#rm /etc/my.cnf

在“node2”上:

在“node2”上,您只需要安裝MySQL軟件包。 其他步驟不是必需的:

[root @ node2~] #yum -y install mysql mysql-server

安裝和配置群集

此時,我們已準備好安裝和配置我們的集群。 SIOS Protection Suite for Linux(又名SPS-Linux)將在本指南中用作群集技術。 它在單個集成解決方案中提供高可用性故障轉移群集功能(LifeKeeper)以及實時,塊級數據複製(DataKeeper)。 SPS-Linux使您能夠部署“SANLess”群集,即“無共享”群集,這意味著群集節點沒有任何共享存儲,就像Azure VM一樣。

安裝適用於Linux的SIOS Protection Suite

在所有3個VM(node1,node2,見證)上執行以下步驟:下載SPS-Linux安裝映像文件(sps.img),並獲取試用許可證或購買永久許可證。 有關更多信息,請聯繫SIOS。您將環回安裝它並以root身份運行“setup”腳本(或首先“sudo su – ”以獲取根shell)例如:

#mkdir / tmp / install
#mount -o loop sps.img / tmp / install
#cd / tmp / install
# 。/建立

在安裝腳本期間,系統會提示您回答一些問題。 您將在幾乎每個屏幕上按Enter鍵以接受默認值。 請注意以下例外情況:

  • 在標題為“High Availability NFS”的屏幕上,您可以選擇“n”,因為我們不會創建高可用性NFS服務器
  • 在安裝腳本結束時,您可以選擇立即或稍後安裝試用許可證密鑰。我們稍後會安裝許可證密鑰,因此您可以安全地選擇“n”
  • 在“設置”的最後一個屏幕中,從屏幕上顯示的列表中選擇要安裝的ARK(應用程序恢復工具包,即“群集代理”)。
    • 僅在“node1”和“node2”上需要ARK。 你不需要在“見證”上安裝
    • 使用向上/向下箭頭導航列表,然後按空格鍵選擇以下內容:
      • lkDR – 適用於Linux的DataKeeper
      • lkSQL – LifeKeeper MySQL RDBMS恢復工具包
    • 這將導致在“node1”和“node2”上安裝以下附加RPM:
      • SteelEye公司 – LKDR-9.0.2-6513.noarch.rpm
      • SteelEye公司 – lkSQL-9.0.2-6513.noarch.rpm

安裝Witness / Quorum包

LifeKeeper(steeleye-lkQWK)的Quorum / Witness服務器支持包與LifeKeeper核心的現有故障轉移過程相結合,可以在總體網絡故障常見的情況下以更大的可信度進行系統故障轉移。這實際上意味著可以在大大降低“裂腦”情況的風險的同時進行故障轉移。在所有3個節點(node1,node2,見證)上安裝Witness / Quorum rpm:

#cd / tmp / install / quorum
#rpm -Uvh steeleye-lkQWK-9.0.2-6513.noarch.rpm

在所有3個節點(node1,node2,見證)上,編輯/ etc / default / LifeKeeper,設置NOBCASTPING = 1僅打開見證服務器(“見證”),編輯/ etc / default / LifeKeeper,設置WITNESS_MODE = off / none

安裝許可證密鑰

在所有3個節點上,使用“lkkeyins”命令安裝從SIOS獲取的許可證文件:

#/ opt / LifeKeeper / bin / lkkeyins <path_to_file> / <filename> .lic

啟動LifeKeeper

在所有3個節點上,使用“lkstart”命令啟動集群軟件:

#/ opt / LifeKeeper / bin / lkstart

設置LifeKeeper GUI的用戶權限

在所有3個節點上,編輯/ etc / group並將“tony”用戶(或在VM創建期間指定的任何用戶名)添加到“lkadmin”組以授予對LifeKeeper GUI的訪問權限。 默認情況下,只有“root”是該組的成員,並且我們沒有root密碼:

#vi / etc / group

lkadmin:X:1001:根,貝

打開LifeKeeper GUI

與node1的公共IP地址建立VNC連接。 根據上面的VNC和入站安全規則配置,您將使用之前指定的VNC密碼連接到<Public_IP>:2。 登錄後,打開終端窗口並使用以下命令運行LifeKeeper GUI:

#/ opt / LifeKeeper / bin / lkGUIapp&

系統將提示您連接到第一個群集節點(“node1”)。 LK-GUI的連接3

 

  

  •  
  •  

    

  •  
  •  
  •  

       

 

  

  

  

 
 
 
 
 
 
 
 
 

  

 
 
 
 
 
 
 
 
 
 

  

 

  

 
 
 
 
 
 

 

 
 
 
 
 
 
 

 

          

 

   

 
 
 
 
 
 

 

 
 
 
 

   

 

       

 

               

測試群集連接

  

 

 

 

 

 
  
 
  
 
  
 
 

   

 
 
  
 
 
  
 
  
 
  
 
 

 

Filed Under: 伺服器集群简单化 Tagged With: 沒有共享存儲的microsoft azure iaas中的linux故障轉移群集

使用Open-iSCSI Initiator軟件連接到iSCSI目標的指南

18 12 月, 2018 by Jason Aw Leave a Comment

循序漸進:使用Open-iSCSI Initiator軟件連接到iSCSI目標

本文將向您展示如何配置Open-iSCSI啟動器(客戶端)以連接到現有iSCSI目標(服務器)。  我將不會在本文中詳細介紹如何設置iSCSI Target。如果您的環境中還沒有可用的iSCSI Target,您可以查看OpenFiler。

在本指南中,我使用CentOS 6.5系統作為iSCSI發起程序(客戶端),並將連接到現有的iSCSI目標。

安裝Open-iSCSI軟件

在我的CentOS 6.5系統上,默認情況下不安裝打開的iscsi啟動程序包。  您可以通過運行以下命令來檢查系統是否已安裝軟件包:[root @ linux~] #rpm -qa | grep iscsi-initiator-utils如果尚未安裝iscsi-initiator-utils軟件包,請使用“yum”命令進行安裝:[root @ linux~] #yum install iscsi-initiator-utils

啟動iSCSI服務

安裝iscsi-initiator-utils包後,啟動iscsid服務並配置iscsid和iscsi服務,以便每次系統啟動時自動啟動:[root @ linux~]#/ etc / init.d /iscsid start [root @ linux~] #chkconfig iscsid on [root @ linux~] #chkconfig iscsi on

發現iSCSI目標

使用iscsiadm命令發現iSCSI目標服務器上的所有iSCSI目標(即iSCSI SAN)。  在這種情況下,我的服務器運行OpenFiler):[root @ linux~] #iscsiadm -m discovery -t sendtargets -p 192.168.197.201 192.168.197.201:3260,1 iqn.2006-01.com.openfiler:tsn.target1注意:在我的示例中,我的iSCSI Target(SAN)的主機名是“openfiler.mydomain.com”,其IP地址為192.168.197.201

登錄iSCSI目標並在引導時配置自動登錄

[root @ linux~] #iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.target1 -p 192.168.197.201 --login [root @ linux~] #iscsiadm -m node -T iqn.2006 -01.com.openfiler:tsn.target1 -p 192.168.197.201 --op update -n node.startup -v automatic驗證iSCSI會話是否處於活動狀態[root @ linux~] #iscsiadm -m session tcp:[1] 192.168。197.201:3260,1 iqn.2006-01.com.openfiler:tsn.target1確定iSCSI目標映射到[root @ linux~]#的設備(cd / dev / disk / by-path; ls -l * iscsi * | awk'{FS =“”; print $ 9“”$ 10“”$ 11}')ip-192.168.197.201:3260-iscsi-iqn.2006-01.com.openfiler:tsn.target1-lun-0 – >。./../sdc這告訴我們iSCSI目標已映射到系統上的/ dev / sdc。  從這裡,使用標準分區/格式化命令(fdisk,mkfs等)根據需要設置磁盤!如果您有興趣了解如何使用Open-iSCSI Initiator軟件連接到iSCSI目標,請閱讀我們的博客經過Linuxclustering的許可轉載

Filed Under: 伺服器集群简单化

  • « Previous Page
  • 1
  • …
  • 66
  • 67
  • 68
  • 69
  • 70
  • …
  • 98
  • Next Page »

最近的帖子

  • 在 Nutanix 環境中選擇高可用性解決方案的 10 個注意事項
  • 我的伺服器是一次性的嗎?高可用性軟體如何適應雲端最佳實踐
  • 災難頻傳世界的資料復原策略
  • DataKeeper 與棒球:災難復原的策略性舉措
  • SQL Server 停機風險預算

最熱門的帖子

加入我們的郵件列表

Copyright © 2025 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in