Tôi có thể chạy mysqld trên đỉnh glusterfs không?


12

Tôi đã chơi với glusterfs gần đây.

Những gì tôi muốn thử là chạy mysqld trên đỉnh của glusterfs theo cách tương tự như có thể chạy MySQL trên DRBD .

Tôi quen thuộc với sao chép MySQL và những lợi ích của việc sử dụng thay vì cách tiếp cận này và tôi cũng nhận thức được MongoDB và các giải pháp NoQuery khác.

Tuy nhiên, nó sẽ là một giải pháp dễ dàng cho một vài dự án cụ thể mà tôi sắp thực hiện nếu tôi có thể rời khỏi MySQL như hiện tại và sao chép hệ thống tệp cơ bản.

Điều này là có thể và nếu nó là nơi tôi có thể tìm hiểu làm thế nào?

Câu trả lời:


16

Do một sự chậm trễ hợp lý không có câu trả lời, tôi đã phát hiện ra bằng cách dùng thử và lỗi.

Câu trả lời là: Có, tôi có thể chạy mysqld trên đỉnh của glusterfs.

Tôi thiết lập điều này trên Ubuntu và đây là các bước:

Vấn đề thực sự đến từ cách MySQL xử lý các khóa.

Tuy nhiên, bạn có thể chuyển tất cả điều này sang glusterfs để xử lý để nhiều quy trình mysqld (chạy trên các nút riêng biệt) có thể truy cập cùng các tệp cơ sở dữ liệu trên / mnt / glusterfs. Bạn cần đọc kỹ điều này .


2
Những loại vấn đề hiệu suất bạn đang nhìn thấy?
CMCDragonkai

4
Điều này thực sự thú vị! Tuy nhiên, đối với hồ sơ, tôi khuyên bạn không nên sử dụng điều này trong mọi tình huống mà dữ liệu của bạn là quan trọng. Chỉ vì nó có vẻ hoạt động không có nghĩa là nó an toàn. Bạn có thể may mắn và chưa chạy vào điều kiện cuộc đua có thể gây mất dữ liệu.
jlh

Bạn sẽ sử dụng 1 máy chủ cùng một lúc, phải không? Tôi khá tự tin rằng nó sẽ không hoạt động từ nhiều máy chủ. bạn sẽ mất dữ liệu của bạn
Diego Roccia

3

Đã thử điều này trên cụm K8. MySQL chạy bên trong một container, GlusterFS được cài đặt trực tiếp trên nút (không được chứa). Bộ chứa MySQL có một mối quan hệ được thiết lập để luôn chạy trên cùng một nút với GFS, gắn khối lượng bằng trình điều khiển âm lượng GFS gốc của K8.

Trải nghiệm độ trễ cao ngẫu nhiên cho các trang web WordPress, ngay cả khi bật bộ đệm ẩn NGINX FastCGI (PHP-FPM). Chuyển sang dung lượng hostPath cho bộ chứa MySQL, các vấn đề về độ trễ đã biến mất.


2

Tôi không nghĩ rằng điều đó là có thể. Richard, liên kết bạn cung cấp đang nói về MyIsam và họ nói rằng dù sao thì điều đó cũng không được khuyến khích. Tôi đã đọc ở đâu đó (tôi không nhớ là ở đâu) rằng sử dụng các tệp innoDB được chia sẻ bởi một số nút sẽ dẫn đến hỏng dữ liệu.


2

Tôi không biết tại sao bạn muốn truy cập cùng các tệp DB từ các quy trình máy chủ MySQL khác nhau nhưng nếu lý do là hiệu suất, bạn nên xem Galera.

http://www.codership.com/content/USE-galera-cluster

Được tích hợp trong cụm DB DB và Percona XTRA DB


Điều gì về bản sao Master to Master trên GlusterFS?
CMCDragonkai

-1 cho Galera trừ khi bạn đang tìm kiếm khả năng mở rộng đọc. Galera là không phù hợp cho cơ sở dữ liệu lớn, hoặc cơ sở dữ liệu nơi viết các vấn đề hiệu suất. Tôi nói từ kinh nghiệm và các khuyến nghị từ hợp đồng hỗ trợ với MariaDB.
Ross Peoples

@RossPeoples thành thật mà nói OP không thể làm điều này cho hiệu suất ghi. Gluster có khả năng thêm độ trễ cho mọi giao dịch. Anh ta có lẽ có nhiều khả năng tìm kiếm HA, có thể bằng cách sử dụng Kubernete để đảm bảo rằng có một thể hiện dB duy nhất đang chạy.
Aron

1

Về lý thuyết bạn có thể. Trong thực tế và đặc biệt là về hiệu suất, hướng dẫn sử dụng Gluster cho thấy rằng nó không được sử dụng để sao chép các tệp DB hoặc các hệ thống I / O hạt mịn khác.

Xem tổng quan chính thức của Gluster tại đây:

http://docs.gluster.org/en/latest/Install-Guide/Overview/#is-gluster- đi-to-work-for-me-and-what-i-news-it-to-do

Gluster sẽ làm việc cho tôi và tôi cần nó để làm gì?

... Mặt khác, việc thêm đủ máy chủ Gluster vào hỗn hợp, một số người đã thấy hiệu suất tốt hơn với chúng tôi so với các giải pháp khác do tính chất vượt trội của công nghệ - Gluster không hỗ trợ cái gọi là dữ liệu có cấu trúc, có nghĩa là trực tiếp , Cơ sở dữ liệu SQL. Tất nhiên, sử dụng Gluster để sao lưu và khôi phục cơ sở dữ liệu sẽ ổn - Gluster theo truyền thống tốt hơn khi sử dụng kích thước tệp tối thiểu 16KB (với một điểm ngọt khoảng 128KB hoặc hơn).

Một lần nữa, nếu bạn muốn sao chép MySQL, tôi đề nghị:

  1. Sử dụng bản sao MySQL Master / Slave truyền thống https://dev.mysql.com/doc/refman/5.7/en/replication.html

  2. Sử dụng cụm Codership Galera mà ngày nay được triển khai trong tất cả các hương vị của MySQL như Oracle MySQL hoặc MariaDB

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.