Mình đăng gặp một vấn đề nan giải mong các cao nhân giúp đỡ tí về kĩ thuật. Case của mình là như thế này: Hiện tại mình đang xài 1 con WSI chạy database mongodb mà nó quá cùi, performance quá kém nên quyết định dời qua OVH. Vấn đề mình gặp phải là do db lớn nên chiều giờ loay hoay mãi chưa move được. Đây là db mình: Code: > db.stats(1024*1024*1024); { "db" : “data”, "collections" : 1, "views" : 0, "objects" : 20795651, "avgObjSize" : 22366.091179256662, "dataSize" : 433.1743590515107, "storageSize" : 80.34576416015625, "numExtents" : 0, "indexes" : 1, "indexSize" : 0.29947662353515625, "fsUsedSize" : 112.8093376159668, "fsTotalSize" : 438.50882720947266, "ok" : 1 } mongodump chạy không nổi luôn. full ổ cứng vì hiện tại đang xài ssd 480gb. Bác nào có thể giúp mình vụ này được không nhỉ. Mình xin mua bia hậu tại
giải pháp từ những ngày mình còn dùng droplet DO 5$ đó là connect 2 database A (trống) và B (db có sẵn) qua tunnel rồi sync chúng qua nhau thôi mongodb chắc cũng tương tự vậy chi tiết bác xem qua cái này https://stackoverflow.com/questions/16619598/sync-mongodb-via-ssh --- Double Post Merged, Dec 11, 2020, Original Post Date: Dec 11, 2020 --- Nếu vps mới bác có nhiều dung lượng ổ cứng thì có thể dump nó trực tiếp sang qua ssh tunnel cũng được á
Tiền bạc không được đo bằng độ lớn của data mà bằng cái đầu và mồ hôi trên bàn phím laptop. Không yêu xin đừng buôn lời cà khịa Cũng giống hệt như dump bác được khoảng 60% failed luôn service mongodb. Ghi k nỗi bác ơi. Các bác nào có cao kiến hơn về vụ này không nhỉ?
Mình cũng ghét cái mongodb này vl. Có làm vài project với nó mà nó phình to nhanh vl tốn dung lượng. dc cái làm nhanh hơn
thế thì mua thêm block storage gắn vào thôi pác ơi, chứ em k dùng thằng ôn này nên cũng k biết xử lý ntn hoặc cách nữa là bác clone luôn cái disk của VM cũ sang cái mới thui có khi công debug còn lâu hơn
Hic vì nó nhanh + đặc thù em lưu là 1 đống json luôn nên lưu cha cho nhanh = mongodb Đang nghiên cứu thử = snapshot bác không biêt sao. A thử rsync trực tiếp qua rồi. Hiện lên database rồi nhưng query méo được. cứ query là bị failed service. Repair thử cũng k được
rsync phải stop mongod service ở source node. nếu vẫn fail thì đi đường vòng. ===> Tạo replica set: 1 primary (node đang sử dụng), 1 secondary (rsync files trước cho nhanh, vẫn tắt service ở source), đợi nó synchronize xong thì promote secondary thành primary xong remove node cũ là xong.(cách này chắc chắn được)
Ôi cụ vẫn lọ mọ trên đây vào sáng sớm thế à. @console bí quá thì chơi giải pháp cùi là export từng phần, mỗi lần vài Gb rồi import sang server mới. Hơi mất công nhưng anh ko xài mongo nên cũng ko biết cách
Ko xài mongo, nhưng tò mò google thử thì thấy ông này chơi kiểu cục súc, tắt mongodb xong copy file kiểu vật lý luôn. Bác xem nếu mà hết bài thì chơi vẫn được. Vài trăm gb chắc move đâu đó nửa ngày https://dba.stackexchange.com/a/175754/127060
Cách này y chang cách @Cháu dì Sáu chia sẻ á bạn, mình thì tò mò rằng vì sao tắt Mongodb service và dùng rsync ko được để di chuyển sang server mới như bác @console nói
Em cũng không hiểu sao anh Phong, em rsync qua data hiện lên đầy đủ. Mà cứ query là failed luôn service mongodb. Mai em thử cách anh Cháu dì Sáu
bác rsync có giữ nguyên ownership với permission không? nếu không thì dùng thêm -avz vào switches của rsync ấy
Có bác ơi, mấy cái này mình hiểu tại mình k xài windows mà xài ubuntu cũng được 6 năm nên linux skill cũng tạm đó bác.
Mongodump lúc lỗi có báo lỗi cụ thể là gì ko bác, bác xem trong file log error mongo xem, thấy disk của bác còn nhiều mà nhỉ, mới used 112G/438G Không nữa thì viết code sync data cũng đc, làm vòng for mỗi lượt synx tầm 1000 docs, lưu lại last id rồi lượt sau query id > last id, 20tr bản ghi thì chắc cũng ko lâu lắm
Mình xử xong rồi. Xoá hết tất cả những cái không cần. còn lại đâu tầm 1/2 xử lý nhanh gọn Em cảm ơn tất cả các bác đã giúp em