একটি বাজেটে ডাউনটাইম মাইএসকিউএল ব্যাকআপ


14

আমার বর্তমান মাইএসকিউএল ব্যাকআপ পরিস্থিতিটি হ'ল টেবিল বা সারি লক থেকে কোনও ডাউনটাইম অপসারণ করতে আমাদের ডিবিটিকে একটি দ্বিতীয় সার্ভারে প্রতিলিপি করা এবং সেই সার্ভারে মাইএসকিএলডাম্প চালানো। এটি ভালভাবে কাজ করছে তবে দ্বিতীয় সার্ভারের জন্য প্রতি মাসে 150 ডলার খরচ হয় (অস্ট্রেলিয়ান হোস্টিং আমেরিকার তুলনায় অনেক বেশি ব্যয়বহুল))

আমি এই সম্পর্কে এখানে প্রচুর প্রশ্ন পড়েছি, বেশিরভাগ লোকের নির্ধারিত ব্যাকআপগুলির সাথে সহায়তা প্রয়োজন এবং যা আমার প্রয়োজন তা নয় what আমার কোনও ডাউনটাইম ছাড়াই মাইএসকিএলডাম (প্রায় প্রতিটি 4 ঘন্টা) প্রয়োজন। ডিবিটি ~ 7 গিগাবাইট বিহীন, সুতরাং মাইএসকিএলডাম্প সার্ভারের উপর নির্ভর করে কিছুটা সময় নিতে পারে।

আমি একই মেশিনে প্রতিলিপি তৈরির বিষয়টি বিবেচনা করেছি, তবে আমি চাইনি যে দাসটি খুব প্রয়োজনীয় স্মৃতিতে খেতে পারে। আমি নিশ্চিত না যে আমি প্রতি ডিবি ভিত্তিতে মেমরির ব্যবহার সীমাবদ্ধ করতে পারি? যে কোনও উপায়ে, এটি ডিবি ডাম্প করার সময় সার্ভারে লোড রাখবে।

আমি কেবল এটি http://www.zmanda.com/quick-mysql-backup.html পড়েছি এবং এটি দেখতে ভাল লাগছে, প্রতি বছর $ 300 ঠিক আছে, এটি আমাকে অনেক সাশ্রয় করে।

দুর্ভাগ্যক্রমে আমি অ্যামাজনের আরডিএসে প্রতিলিপি করতে পারি না তবে আমি একটি মাইক্রো আরসি 2 উদাহরণে প্রতিলিপি করতে পারি তবে প্রতিলিপিটি ওভার-নেট স্থান গ্রহণ করবে এবং পিংটি 220 ডলার।

আমি এখানে কয়েকজন লোককে এলভিএম স্ন্যাপশট নিয়ে কথা বলতে দেখলাম যা একটি ভাল বিকল্প হতে পারে। এই বিকল্পটি সম্পর্কে আমি খুব বেশি কিছু জানি না।

মতামত ব্যাপকভাবে প্রশংসা করা হবে।


ওয়েবসাইট কী? এটি কী করে তার একটি বিবরণ দিন
jamespo

আপনি মাসে 150 ডলারের চেয়ে অনেক কম দামে সার্ভার কিনতে পারেন। 7 জিবি তেমন ডেটার মতো শব্দ করে না। আপনি এক মাসে $ 1.50 হিসাবে কম ডিসপোজেবল 128MB সার্ভার এবং প্রায় 20 ডলারে আরও চিত্তাকর্ষক 1GB টি কিনতে পারেন। যেহেতু কোনও ক্যোয়ারী ক্যাশের প্রয়োজন নেই আপনি সহজেই একটি জিবি র‌্যাম এবং এসএসডি সহ একটি সার্ভার দিয়ে প্রচুর রচনাগুলি হ্যান্ডেল করতে পারবেন।
জিওনক্রস

আপনি প্রথমে সার্ভারটি বন্ধ না করে LVM স্ন্যাপশটগুলি একটি সামঞ্জস্যপূর্ণ চিত্র দেবে না। আপনি গরম স্ন্যাপশটগুলি করতে পারেন - এবং ফাইলগুলি পুনর্নির্মাণের চেষ্টা করুন - তবে এটি ঝুঁকিপূর্ণ।
সিমকিবিয়ান

উত্তর:


10

যদি আপনি ইনোডাব টেবিল ব্যবহার করেন তবে আপনি ব্যবহার করতে পারেন

http://www.percona.com/docs/wiki/percona-xtrabackup:start

এটি আপনার ডাটাবেসের একটি ডাম্প নেবে যা লকিং ছাড়াই তাদের সরঞ্জাম দ্বারা আমদানি করা যেতে পারে। আমি বিশ্বাস করি আপনার যদি মাইসাম টেবিল থাকে এটি সেগুলি লক করে রাখে।


আমার কাছে কিছু মাইআইএসএএম টেবিল রয়েছে তবে সেগুলি ঘন ঘন ব্যবহৃত হয় না, সুতরাং সেগুলি লক করা ঠিক আছে। মন্তব্যের জন্য ধন্যবাদ, এটি পরীক্ষা করে দেখবে।
খ্রিস্টান

পারকোনায় শিলার বিটিডব্লিউ!
খ্রিস্টান

5

আপনি যদি পুরোপুরি লেনদেনের জন্য ইনোডাব বা অন্য কোনও ব্যাকএন্ড ব্যবহার করছেন তবে আপনি এটি ব্যবহার করতে পারেন mysqldump --single-transaction ...। আমি ভাল ফলাফল সহ মোটামুটি বড় (GB 100 গিগাবাইট) ডাটাবেসে এটি ব্যবহার করেছি; ডাটাবেসটি ভারী বোঝার মধ্যে থাকলে এটি কয়েক ঘন্টা সময় নিতে পারে তবে এটি আপনার টেবিলগুলি লক না করেই কাজ করে। প্রতিলিপি সাধারণত ভাল তবে কখনও কখনও আপনি একটি দুর্দান্ত কঠিন ডাম্প ফাইল চান। মনে রাখবেন যে আপনি কোনও মাইএসকিএল প্রতিলিপি দাসকেও ডাম্প করতে পারেন।

মাইএসকিএলডামপ পৃষ্ঠা থেকে (লেনদেনের ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকা অপারেশনগুলি সম্পর্কে সাবধান করুন):

 ·   --single-transaction

   This option sends a START TRANSACTION SQL statement to the server
   before dumping data. It is useful only with transactional tables
   such as InnoDB, because then it dumps the consistent state of the
   database at the time when BEGIN was issued without blocking any
   applications.

   When using this option, you should keep in mind that only InnoDB
   tables are dumped in a consistent state. For example, any MyISAM or
   MEMORY tables dumped while using this option may still change
   state.

   While a --single-transaction dump is in process, to ensure a valid
   dump file (correct table contents and binary log coordinates), no
   other connection should use the following statements: ALTER TABLE,
   CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE. A
   consistent read is not isolated from those statements, so use of
   them on a table to be dumped can cause the SELECT that is performed
   by mysqldump to retrieve the table contents to obtain incorrect
   contents or fail.

জোশুয়া, আমি আপনার নিজের টাইপটি 'নিজেই' লক্ষ্য করি এবং নোট করি যে 'নিজেকে' টাইপ করা আমার পক্ষে খুব কঠিন কারণ আমি স্বাভাবিকভাবেই মাইএসকিএল টাইপ করি। আমি বর্তমানে স্লেভ মেশিনে 4 ঘন্টা প্রতি ঘন্টা মাইএসকিএলডম্প করি। একক লেনদেন একটি ভাল বিকল্প মত দেখায়, ধন্যবাদ!
খ্রিস্টান

ডোহ। আমার স্নাতকের. :)
জোশুয়া হবলিট

আমি মনে করি না যে এত বড় ডাটাবেসে মাইএসকিএলডাম্প একটি ভাল বিকল্প is যদি এটি ডাম্প করতে কয়েক ঘন্টা সময় নেয় তবে পুনরুদ্ধার করতে কয়েক সপ্তাহ লাগতে পারে। আপনার পুনরুদ্ধার সময় এবং এটি সম্পূর্ণ করার জন্য প্রয়োজনীয় সংস্থান পরীক্ষা করুন!
ব্যারন শোয়ার্জ

ধন্যবাদ ব্যারন, পুনরুদ্ধার করতে কিছুটা সময় নেয় - সপ্তাহ নয়, তবে যথেষ্ট সময়। আমি আমার নতুন সার্ভারটি পেলে এটি দেখতে কতক্ষণ সময় নেবে তা আমি দেখতে পাচ্ছি। ফাইলগুলির একটি অনুলিপি আরও কার্যকর হতে কার্যকর হবে।
খ্রিস্টান

2

মার্কিন যুক্তরাষ্ট্রে একটি সস্তা ভিপিএসের সাথে উচ্চ বিলম্বিত সংযোগের প্রতিরূপ ঘটানোর অনেক কিছুই আমি দেখতে পাচ্ছি না উচ্চতর বিলম্বিতা আসলে খুব বেশি সমস্যা হওয়া উচিত নয়। প্রতিলিপিটি এমনভাবে ডিজাইন করা হয়েছে যাতে কোনও দাস কয়েক ঘন্টা পিছনে পড়ে গেলেও, এটি তাত্পর্যপূর্ণভাবে পরিচালনা করতে পারে।

যতক্ষণ আপনি আপনার অস্ট্রেলিয়ান হোস্টিং পরিকল্পনায় এতটা বহির্গামী ব্যান্ডউইথকে দাঁড়াতে পারেন।

উচ্চ বিলম্বিত বিষয়টি বিবেচনা করবে কিনা সে সম্পর্কে এখানে আরও বিস্তারিত জবাব দেওয়া হয়েছে


1
এটি এমনকি কতটা ব্যান্ডউইথ ব্যবহার করবে সে সম্পর্কে আমার ধারণা নেই। হয়তো আমার এখন যে বাক্সগুলি রয়েছে তার মধ্যে ট্র্যাফিক নিরীক্ষণ করা উচিত যে কতটা ব্যবহৃত হচ্ছে তা দেখতে।
খ্রিস্টান

1
আপনি ইবিএসের শীর্ষে মাইএসকিএল চালানোর চেষ্টা করে "হতাশ" হতে পারেন। আমি অনুরোধ করছি আপনি প্রতিরূপের জন্য এটি ব্যবহার করার চেষ্টা করার আগে পারফরম্যান্স পরীক্ষা করার পরামর্শ দিন।
জোশুয়া হাবলিট

এর জন্য ধন্যবাদ, আমি এটির উপর নির্ভর করা শুরু করার আগে অবশ্যই এর জন্য অনুভূতি বয়ে আনব - যদি এই উপায়টি আমি গ্রহণ করি।
খ্রিস্টান

1

বাস্তবতাত্ত্বিকভাবে, ডাটাবেসটি রফতানি করতে কেবল সময় সময় সময়সীমার হবে। ধীর পর্যাপ্ত সময়ের মধ্যে এটি করুন এবং কোনও সমস্যা হওয়া উচিত নয়। সেই বাজেটের কোনও আইটি বিভাগ কী প্রত্যাশা করে?

আপনার 5-10 মিনিটের ম্যাক্সের মধ্যে 7 গিগাবাইট ডাটাবেসটি মাইএসকিএলড্প করতে সক্ষম হওয়া, পঠন / লেখার লকটি বন্ধ করে দেওয়া এবং ডাউনটাইম শেষ হয়ে যাবে। তারপরে আপনি নতুন সার্ভারে 7 গিগাবাইট ফাইলের সবচেয়ে ব্যান্ডউইথ কার্যকর উপায়টি খুঁজে পেতে পারেন (পড়ুন: উচ্চ সংক্ষেপণ) MP নতুন সার্ভারে ফাইলটি স্থানান্তরিত এবং মাইএসকিউএলে আমদানি করার জন্য আপনার কাছে প্রচুর সময় রয়েছে। তারপরে, মাস্টারলগ তথ্য প্রবেশ করুন এবং প্রতিলিপি শুরু করুন। কেকের টুকরো হওয়া উচিত!

মাইএসকিউএল ডকুমেন্টেশন চমত্কার : http://dev.mysql.com/doc/refman/5.0/en/replication.html


এবং আমি যুক্ত করতে চেয়েছিলাম, প্রতিলিপিটি খুব বেশি ব্যান্ডউইথ ব্যবহার করে না। সন্দেহ নেই যে প্রতি চার ঘন্টা পরেই মাইসকিলডাম্প-ইনগের চেয়ে ভাল কল !!!
লুক

আইটি বিভাগ কে উল্লেখ করেছেন? এটি কেবল আমার ওয়েবসাইট। :) এবং আমি বর্তমানে ব্যাকআপগুলির জন্য প্রতিলিপি করছি তবে নিশ্চিত নই যে এটির সেরা পদ্ধতির জন্য $ 150 পি / এম। যেমনটি বলা হয়েছে একটি ইসি 2 মাইক্রো উদাহরণের বিকল্প রয়েছে।
খ্রিস্টান

@ খ্রিস্টিয়ান পি / এম কি? এটি কী তা আমি জানি না, তবে প্রতি একক পি এর জন্য 150 ব্যয়বহুল 8- |
তেহশ্রাইক

@ টিহশ্রাইক, পি / এম = প্রতি মাসে মার্কিন হোস্টিংয়ের চেয়ে অস্ট্রেলিয়ান হোস্টিং অনেক দামি। এছাড়াও, আমি গতি এবং স্থানান্তর ব্যান্ডউইথ ভাতার বিরুদ্ধে গণনা করা না হয়ে একই নেটওয়ার্কে দ্বিতীয় সার্ভার রাখার চেষ্টা করছিলাম।
খ্রিস্টান

1

আমি নিশ্চিত না যে আমি প্রতি ডিবি ভিত্তিতে মেমরির ব্যবহার সীমাবদ্ধ করতে পারি

অবশ্যই আপনি পারেন - আপনার কেবল একটি আলাদা /etc/my.cnf দিয়ে স্লেভ চালানো দরকার

এমনকি আপনি মাস্টার এবং স্লেভের উপর সুন্দর / রেনিস এবং টাস্কসেট ব্যবহার করে সময় নির্ধারণের অগ্রাধিকার / সিপিইউ অ্যাফিনিটি পরিচালনা করার জন্য স্টাফ করতে পারেন (এটি লিনাক্স সার্ভার ধরে নিচ্ছেন)।

তবে প্রতিলিপিটি ওভার-নেট স্থান গ্রহণ করবে এবং পিংটি 220 মিলিয়ন ডলার

লেটেন্সি বেশ অপ্রাসঙ্গিক - গুরুত্বপূর্ণ বিষয়টি ব্যান্ডউইথ - এবং ডাটাবেস ব্যান্ডউইদথ (ধরে নিই যে আপনি সেশন ডেটার প্রতিরূপ করছেন না) এইচটিটিপি ব্যান্ডউইদথের চেয়ে কম মাত্রার কয়েকটি অর্ডার।

আমার দরকার নেই [ডাটাবেসের একটি ধারাবাহিক ব্যাকআপ তৈরি করতে] (অগ্রাধিকারপ্রাপ্ত প্রতি চার ঘন্টা) কোনও ডাউনটাইম ছাড়াই

তবে আপনি যে কৌশলগুলি আলোচনা করেছেন সেগুলি সেই সময়ের মতো পুনরুদ্ধারের অনুমতি দেয় না।

আমি মনে করি সবচেয়ে সস্তা বিকল্পটি একই মেশিনে দাস হবে - এবং এটি যদি আপনি পুনরায় কনফিগার করতে পারেন তার বাইরে পারফরম্যান্সকে বিরূপ প্রভাবিত করে তবে বর্তমান হোস্টিং প্যাকেজটি আপগ্রেড করবে।

আপনি সংযোগ বিচ্ছিন্ন দাস চালানোও বিবেচনা করতে পারেন: বর্তমান সার্ভারে বিন লগ সক্ষম করুন। একটি ব্যাকআপ পান, স্থানীয় মেশিনে ব্যাকআপটি পুনরুদ্ধার করুন এবং বিন লগগুলি যেমন ঘোরানো হয় তেমনভাবে কপি করুন এবং তাদের স্থানীয় ডিবিএমএসে রোল করুন


ভাল প্রতিক্রিয়া, তার জন্য ধন্যবাদ। আমি যে নতুন সার্ভারটি দেখছি তাতে একই মেশিনে দাসের জন্য যথেষ্ট মেমরি থাকতে পারে তবে আমি বিনলোগুলির অনুলিপি / রোলড এগিয়ে দেওয়ার ধারণাটি পছন্দ করি। আবার ধন্যবাদ!
খ্রিস্টান

1

আমার পরামর্শ:

1 - আপনার দ্বিতীয় অ্যাকাউন্ট / সার্ভার রাখুন এবং আপনার মূল অ্যাকাউন্ট / সার্ভারে একটি ডাটাবেসের প্রতিলিপি প্রয়োগ করুন।

2 - দ্বিতীয় অ্যাকাউন্ট / সার্ভারে প্রতিলিপি বন্ধ করুন।

3 - কয়েক দিনের জন্য কর্মক্ষমতা নিরীক্ষণ। আপনার ব্যস্ততম পিরিয়ডগুলি অন্তর্ভুক্ত করার জন্য আপনি এটি যথেষ্ট দীর্ঘ নিরীক্ষণ করেছেন তা নিশ্চিত করুন।

4 - কোনও বড় পারফরম্যান্স সমস্যা থাকলে আপনার পুরানো সেটআপে স্যুইচ করতে প্রস্তুত হন। এই কারণেই আপনি দ্বিতীয় অ্যাকাউন্টটি রেখেছিলেন।

5 - আপনার মূল অ্যাকাউন্টে আরও ক্ষমতা / আপগ্রেড সার্ভার কিনুন। আমি বিশ্বাস করি এমন দুটি সার্ভারের জন্য অর্থ প্রদানের চেয়ে সস্তা হওয়া উচিত।

6 - দ্বিতীয় অ্যাকাউন্ট বাতিল করুন।

শুভকামনা!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.