<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      快速部署sqlserver AlwaysOn集群

      點(diǎn)擊查看代碼
      丐版sqlserver集群
      
      之前試過docker的,k8s的,然后發(fā)現(xiàn),還是最樸素的是最簡(jiǎn)單的,希望有大佬能夠漢化,他媽的,那些英文看得人要發(fā)癲啊。
      
      
      
      前置準(zhǔn)備,參照丐版pxc集群:
      http://www.rzrgm.cn/zwnfdswww/p/18112077
      如果不關(guān)防火墻:
      打開對(duì)應(yīng)的端口即可:
      sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
      
      sudo firewall-cmd --reload
      
      
      sudo hostnamectl set-hostname m191
      sudo hostnamectl set-hostname m192
      sudo hostnamectl set-hostname m193
      
      bash
      vim /etc/hosts
      
      10.1.161.29 m191
      10.1.161.31 m192
      10.1.161.32 m193
      
      
      sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
      sudo yum install -y mssql-server
      sudo /opt/mssql/bin/mssql-conf setup
      
      設(shè)置密碼:
      Citygis@1613
      
      systemctl status mssql-server
      
      yum install mssql-server-agent
      
      /opt/mssql/bin/mssql-conf set sqlagent.enabled true
      systemctl restart mssql-server.service
      
      
      
      sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
      
      sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
      
      sudo yum install -y mssql-tools unixODBC-devel
      
      echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
      
      echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
      
      source ~/.bashrc
      
      sqlcmd -S 10.1.161.32 -U SA -P 'Citygis@1613'
      
      CREATE DATABASE TestDB
      
      SELECT Name from sys.Databases
      
      GO
      USE TestDB
      CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
      
      INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
      
      GO
      SELECT * FROM Inventory WHERE quantity > 152;
      
      GO
      QUIT
      需要幾臺(tái)服務(wù)器,重復(fù)安裝即可
      測(cè)試:
      navicat連一下
      10.1.161.29,1433
      SA Citygis@1613
      
      如果沒有驅(qū)動(dòng),去navicat目錄下安裝sqlncli_x64即可
      sql(all)
      將 SA 帳戶禁用:
      ALTER LOGIN SA DISABLE;
      
      CREATE LOGIN Citygis@1613 WITH PASSWORD = 'Citygis@1613';
      ALTER SERVER ROLE sysadmin ADD MEMBER Citygis@1613;
      
      重要:新用戶登錄
      ALTER LOGIN SA DISABLE;
      
      
      
       
      Bash(all):
      
      sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled  1
      
      sudo systemctl restart mssql-server
      
      Bash(all)
      yum install -y mssql-server-ha 
      yum info mssql-server-ha
      
       
      Sql(all):
      
      ALTER EVENT SESSION  AlwaysOn_health ON SERVER WITH (STARTUP_STATE=ON);
      
      GO
      
      Sql(all):
      
      CREATE LOGIN dbm_login WITH PASSWORD = '1111.aaa';
      
      CREATE USER dbm_user FOR LOGIN dbm_login;
      
      第一個(gè)是登錄用戶,第二個(gè)是執(zhí)行用戶
      
      
      Sql(主):
      
      CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1111.aaa';
      
      CREATE CERTIFICATE dbm_certificate WITH SUBJECT = 'dbm';
      
      BACKUP CERTIFICATE dbm_certificate
      
         TO FILE = '/var/opt/mssql/data/dbm_certificate.cer'
      
         WITH PRIVATE KEY (
      
                 FILE = '/var/opt/mssql/data/dbm_certificate.pvk',
      
                 ENCRYPTION BY PASSWORD = '1111.aaa'
      
             );
      
      ls /var/opt/mssql/data
      看下文件有沒有生成
      Bash(主):
      
      cd /var/opt/mssql/data/
      
      scp dbm_certificate.* 10.1.161.31:/var/opt/mssql/data/
      
      scp dbm_certificate.* 10.1.161.32:/var/opt/mssql/data/
             
      Bash(從);
      
      cd /var/opt/mssql/data/
      
      chown mssql.mssql dbm_certificate.*
      
      
      Sql(從):
      
      CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1111.aaa';
      
      CREATE CERTIFICATE dbm_certificate
      
          AUTHORIZATION dbm_user
      
          FROM FILE = '/var/opt/mssql/data/dbm_certificate.cer'
      
          WITH PRIVATE KEY (
      
          FILE = '/var/opt/mssql/data/dbm_certificate.pvk',
      
          DECRYPTION BY PASSWORD = '1111.aaa'
      
                  );
                  
                  
      Sql(all);
      
      CREATE ENDPOINT [Hadr_endpoint]
      
          AS TCP (LISTENER_PORT = 5022)
      
          FOR DATABASE_MIRRORING (
      
              ROLE = ALL,
      
              AUTHENTICATION = CERTIFICATE dbm_certificate,
      
              ENCRYPTION = REQUIRED ALGORITHM AES
      
              );
      
      ALTER ENDPOINT [Hadr_endpoint] STATE = STARTED;
      
      GRANT CONNECT ON ENDPOINT::[Hadr_endpoint] TO [dbm_login];
      
      
      sudo firewall-cmd --zone=public --add-port=5022/tcp --permanent
      
      sudo firewall-cmd --reload
      
      
      Sql(all);
      
      select @@SERVERNAME;
      
      
      
      Sql(主):
      
      CREATE AVAILABILITY GROUP [ag1]
      WITH (DB_FAILOVER = ON, CLUSTER_TYPE = EXTERNAL)
      FOR REPLICA ON
          N'm191'
          WITH (
              ENDPOINT_URL = N'tcp://m191:5022',
              AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
              FAILOVER_MODE = EXTERNAL,
              SEEDING_MODE = AUTOMATIC,
              SECONDARY_ROLE (ALLOW_CONNECTIONS = ALL)
          ),
          N'm192'
          WITH (
              ENDPOINT_URL = N'tcp://m192:5022',
              AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
              FAILOVER_MODE = EXTERNAL,
              SEEDING_MODE = AUTOMATIC,
              SECONDARY_ROLE (ALLOW_CONNECTIONS = ALL)
          ),
          N'm193'
          WITH (
              ENDPOINT_URL = N'tcp://m193:5022',
              AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
              FAILOVER_MODE = EXTERNAL,
              SEEDING_MODE = AUTOMATIC,
              SECONDARY_ROLE (ALLOW_CONNECTIONS = ALL)
          );
      
      ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE;
      
      
      
      
      Sql(從):
      
       
      
      ALTER AVAILABILITY GROUP [ag1] JOIN WITH (CLUSTER_TYPE = EXTERNAL);        
      
      ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE
      
      
      (如果報(bào)錯(cuò),可能是hosts文件里面主機(jī)名對(duì)應(yīng)ip錯(cuò)了)
      
      測(cè)試一下:
      
      Sql(主):
      
      CREATE DATABASE [db1];
      
      ALTER DATABASE [db1] SET RECOVERY FULL;
      
      BACKUP DATABASE [db1]
      
         TO DISK = N'/var/opt/mssql/data/db1.bak';
      
      ALTER AVAILABILITY GROUP [AG1] ADD DATABASE [db1];
      
      
      從節(jié)點(diǎn)查一下。
      
      集群完成。
      
      DROP AVAILABILITY GROUP group_name
      
      可選:
      
      Bash(all)
      sudo yum install subscription-manager
      
      用戶名和密碼去redhat官網(wǎng)申請(qǐng)
      vi /etc/rhsm/rhsm.conf
      
      Set to 1 to disable certificate validation:
      insecure = 1
      
      sudo subscription-manager register
      
      
      
      
      
      sudo subscription-manager list --available
      
      sudo subscription-manager attach --pool=<PoolID>
      
      其中,“PoolId”是上一步中高可用性訂閱的池 ID 。
      subscription-manager repos --list
      
      選一個(gè)高可用相關(guān)的軟件倉庫
      sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
      (備用:sudo subscription-manager repos --enable=rhel-atomic-7-cdk-3.3-rpms)
      如果系統(tǒng)自帶了有,可以不執(zhí)行上面的命令
      
      
      Bash(all):
      
      yum install pacemaker pcs resource-agents corosync fence-agents-all -y
      
      Bash(all):
      
      passwd hacluster  (這里密碼一定要設(shè)置成一樣的,我這設(shè)置的是123456.com)
      
      Bash(all):
      
      sudo systemctl enable pcsd
      
      sudo systemctl start pcsd
      
      sudo systemctl enable pacemaker
      
      
      firewall-cmd --add-service=high-availability --zone=public --permanent
      
      firewall-cmd --zone=public --add-port=2224/tcp --permanent
      
      firewall-cmd --zone=public --add-port=3121/tcp –permanent
      
      firewall-cmd --zone=public --add-port=5405/udp --permanent 
      
      firewall-cmd --reload
      
      
      
      Bash(all):
      
      sudo pcs cluster destroy
      
      sudo systemctl enable pacemaker
      
      
      
      Bash(主):
      
      sudo pcs cluster auth m191 m192 m193 -u hacluster -p 123456.com
      
      sudo pcs cluster setup --name AG1 m191 m192 m193 
      
      
      chown -R hacluster.haclient /var/log/cluster
      
      pcs cluster start --all
      pcs cluster enable –all
      
      pcs cluster status
      
      ps aux | grep pacemaker
      
      
      corosync-cfgtool -s
      
      corosync-cmapctl | grep members
      
      pcs status corosync
      
      
      crm_verify -L -V
      
      
      (all):
      pcs property set stonith-enabled=false
      
      
      pcs property set no-quorum-policy=ignore
      
      Bash(all):
      
      sudo pcs property set stonith-enabled=false
      
      Bash(all):
      
      yum install mssql-server-ha –y
      
      sudo systemctl restart mssql-server
      
      Sql(all):
      
      USE [master]
      
      GO
      
      CREATE LOGIN [pacemakerLogin] with PASSWORD= N'1111.aaa';
      
       
      
      ALTER SERVER ROLE [sysadmin] ADD MEMBER [pacemakerLogin]
      
      
      Bash(all):
      
      sudo echo 'pacemakerLogin' >> ~/pacemaker-passwd
      
      sudo echo '1111.aaa' >> ~/pacemaker-passwd
      
      sudo mv ~/pacemaker-passwd /var/opt/mssql/secrets/passwd
      
      sudo chown root:root /var/opt/mssql/secrets/passwd
      
      sudo chmod 400 /var/opt/mssql/secrets/passwd
      
      
      
      Bash(主)
      
      重要,ip記得改
      
      sudo pcs resource create ag_cluster ocf:mssql:ag ag_name=AG1 meta failure-timeout=60s master notify=true
      
       
      
      sudo pcs resource create virtualip ocf:heartbeat:IPaddr2 ip=10.1.161.70
      
      執(zhí)行完之后查看是否綁定成功
      sudo pcs resource show
      看下虛擬ip在哪里,去相應(yīng)的主機(jī)
      ip  addr show
      
      Bash(主)
      
      sudo pcs constraint colocation add virtualip ag_cluster-master INFINITY with-rsc-role=Master
      
       
      
      sudo pcs constraint order promote ag_cluster-master then start virtualip
      
      sudo pcs status
      
      測(cè)試:
      navicat連一下
      
      10.1.161.70,1433
      Citygis@1613 Citygis@1613
      Sql(VIP):
      
      Sql(VIP):
      
      -- group info
      
      SELECT
      
          g.name as ag_name,
      
          rgs.primary_replica,
      
          rgs.primary_recovery_health_desc as recovery_health,
      
          rgs.synchronization_health_desc as sync_health
      
      From sys.dm_hadr_availability_group_states as rgs
      
      JOIN sys.availability_groups AS g
      
                            ON rgs.group_id = g.group_id
      
       
      
      --replicas info
      
      SELECT
      
               g.name as ag_name,
      
               r.replica_server_name,
      
               rs.is_local,
      
               rs.role_desc as role,
      
               rs.operational_state_desc as op_state,
      
               rs.connected_state_desc as connect_state,
      
               rs.synchronization_health_desc as sync_state,
      
               rs.last_connect_error_number,
      
               rs.last_connect_error_description
      
      From sys.dm_hadr_availability_replica_states AS  rs
      
      JOIN sys.availability_replicas AS r
      
               ON rs.replica_id = r.replica_id
      
      JOIN sys.availability_groups AS g
      
               ON g.group_id = r.group_id
      
       
      
       
      
      --DB level
      
      SElECT
      
           g.name as ag_name,
      
           r.replica_server_name,
      
           DB_NAME(drs.database_id) as [database_name],
      
           drs.is_local,
      
           drs.is_primary_replica,
      
           synchronization_state_desc as sync_state,
      
           synchronization_health_desc as sync_health,
      
           database_state_desc as db_state
      
      FROM sys.dm_hadr_database_replica_states AS drs
      
           JOIN sys.availability_replicas AS r
      
           ON r.replica_id = drs.replica_id
      
           JOIN sys.availability_groups AS g
      
           ON g.group_id = drs.group_id
      
      ORDER BY g.name, drs.is_primary_replica DESC;
      
      GO
      
      
      SQL Server Always On的同步原理:
      
      所有的事務(wù)會(huì)被提交到主副本,輔助副本去讀取物理日志來同步,新建的數(shù)據(jù)庫需要加入到ag里面
      
      Pacemaker的監(jiān)控原理:
      
      會(huì)用被動(dòng)心跳來檢查,如果發(fā)現(xiàn)節(jié)點(diǎn)有問題,會(huì)通過三角輪轉(zhuǎn)進(jìn)行遷移,然后還能對(duì)節(jié)點(diǎn)進(jìn)行監(jiān)控
      
      
      引用:
      [1] http://www.rzrgm.cn/guarderming/p/12082936.html
      
      posted @ 2024-04-12 13:00  $Traitor$  閱讀(359)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 99久久精品费精品国产一区二 | 国产精品一二三区蜜臀av| 亚洲a∨无码无在线观看| 中文字幕日韩有码一区| 一本大道色婷婷在线| 精品粉嫩国产一区二区三区| 亚洲欧美日韩高清一区二区三区| 国产美女裸身网站免费观看视频| 少妇爽到爆视频网站免费| 国产成人精品一区二三区在线观看| AI做受???高潮AAAA视频| 国产日韩精品视频无码| 亚洲一区二区av在线| 国产精品久久中文字幕| 丽水市| 国产精品久久久久无码网站| 日韩高清国产中文字幕| 中文毛片无遮挡高潮免费| 无码一区中文字幕| 精品欧美一区二区三区久久久| 国产精品普通话国语对白露脸| 精品国产伦理国产无遮挡| 亚洲欧美日韩综合久久| 成人亚洲欧美一区二区三区| 熟女一区二区中文字幕| 久久久久国产精品人妻| a男人的天堂久久a毛片| 国产成人无码午夜视频在线播放| 亚洲无码精品视频| 久久狠狠高潮亚洲精品夜色| 欧美激情 亚洲 在线| 久久国产成人高清精品亚洲| 男女性杂交内射女bbwxz| 肉色丝袜足j视频国产| 综合色在线| 毛片在线看免费| 男人的天堂av社区在线| 美女一区二区三区在线观看视频| 国产中文字幕在线一区| 一区二区不卡国产精品| 长宁区|