Tôi đang định cấu hình Luôn bật cho SQL Server 2017 RC1 (14.0.80.90, ngày 2017-7-18) cho Linux theo https://docs.microsoft.com/en-us/sql/linux/sql-server-linux -sẵn có-nhóm-configure-ha . Cài đặt này đang sử dụng hình ảnh docker, tất cả trên cùng một máy chủ vật lý. Tất cả các bước đang hoạt động cho đến khi tôi đến bước:
CREATE AVAILABILITY GROUP [ag1]
WITH (DB_FAILOVER = ON, CLUSTER_TYPE = EXTERNAL)
FOR REPLICA ON
N'always-onA'
WITH (
ENDPOINT_URL = N'tcp://always-onA:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = EXTERNAL,
SEEDING_MODE = AUTOMATIC
),
N'always-onB'
WITH (
ENDPOINT_URL = N'tcp://always-onB:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = EXTERNAL,
SEEDING_MODE = AUTOMATIC
),
N'always-onC'
WITH(
ENDPOINT_URL = N'tcp://always-onC:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = EXTERNAL,
SEEDING_MODE = AUTOMATIC
);
Và tôi nhận được thông báo lỗi:
Msg 35237, Level 16, State 1, Line 2
None of the specified replicas for availability group ag1 maps to the instance of SQL Server to which you are connected. Reenter the command, specifying this server instance to host one of the replicas. This replica will be the initial primary replica.
Tôi đã xem xét các ghi chú phát hành tại https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes để đảm bảo rằng không có vấn đề nào được biết và tính năng này cần được hỗ trợ tại thời điểm này.
Trong mỗi thùng chứa docker, các tên "always-onX" giải quyết:
> root@5194403487fe:/# ping always-onA
> PING always-onA (172.17.0.10): 56 data bytes
> 64 bytes from 172.17.0.10: icmp_seq=0 ttl=64 time=0.125 ms
> ^C--- always-onA ping statistics ---
> 1 packets transmitted, 1 packets received, 0% packet loss
> round-trip min/avg/max/stddev = 0.125/0.125/0.125/0.000 ms
> root@5194403487fe:/# ping always-onB
> PING always-onB (172.17.0.11): 56 data bytes
> 64 bytes from 172.17.0.11: icmp_seq=0 ttl=64 time=0.156 ms
> ^C--- always-onB ping statistics ---
> 1 packets transmitted, 1 packets received, 0% packet loss
> round-trip min/avg/max/stddev = 0.156/0.156/0.156/0.000 ms
> root@5194403487fe:/# ping always-onC
> PING always-onC (172.17.0.12): 56 data bytes
> 64 bytes from 172.17.0.12: icmp_seq=0 ttl=64 time=0.308 ms
> ^C--- always-onC ping statistics ---
> 1 packets transmitted, 1 packets received, 0% packet loss
> round-trip min/avg/max/stddev = 0.308/0.308/0.308/0.000 ms
SQL Server cũng đang lắng nghe cổng 5022 trên mỗi phiên bản (điều này hiển thị giống nhau cho tất cả các phiên bản):
# netstat -alnp | grep 5022
tcp 0 0 0.0.0.0:5022 0.0.0.0:* LISTEN 9/sqlservr
Hơn nữa, không có IP bổ sung nào tồn tại trên hệ thống có thể gây nhầm lẫn:
# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:0a
inet addr:172.17.0.10 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4058 errors:0 dropped:0 overruns:0 frame:0
TX packets:2016 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2771303 (2.7 MB) TX bytes:241070 (241.0 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:470 errors:0 dropped:0 overruns:0 frame:0
TX packets:470 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1870657 (1.8 MB) TX bytes:1870657 (1.8 MB)
Các tên luôn luôn onA / B / C giải quyết cả trong tệp máy chủ cho hình ảnh docker, VÀ qua DNS, do đó, không nên có bất kỳ vấn đề nào ở đó:
# nslookup always-onA
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: always-onA
Address: 172.17.0.10
Và cuối cùng, nhật ký SQL Server cho thấy điểm cuối phản chiếu đang lắng nghe các kết nối:
# docker logs always-onA | tail -2
2017-07-23 16:53:27.76 spid56 Server is listening on [ 0.0.0.0 <ipv4> 5022].
2017-07-23 16:53:27.76 spid56 The Database Mirroring endpoint is now listening for connections.
Có vẻ như máy chủ SQL không thể xác định rõ ràng rằng một trong các nút cấu hình trong nhóm khả dụng thực tế là chính nó và do đó gặp lỗi, nhưng tôi không thấy cách nào để gỡ lỗi này. Tôi đã thử sử dụng cách sau thay vì tên "always-onA":
luôn luôn on 127.0.0.1 localhost 0.0.0.0
Lỗi luôn luôn như vậy. Tìm kiếm bất kỳ suy nghĩ về cách giải quyết vấn đề này.
Msg
47.106 ,Level 16, Cannot join availability group <ag1>. Download configuration timeout. Please check primary configuration, network connectivity and firewall setup, then retry the operation.