الفرق بين المراجعتين ل"النسخ المتماثل السلافية كيو متعدد"
(١٠ مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر ١: | سطر ١: | ||
+ | <span data-link_translate_ar_title="النسخ المتماثل السلافية كيو متعدد" data-link_translate_ar_url="النسخ المتماثل السلافية كيو متعدد"></span>[[:ar:النسخ المتماثل السلافية كيو متعدد]][[ar:النسخ المتماثل السلافية كيو متعدد]] | ||
+ | <span data-link_translate_en_title="Replication PostgreSQL Slavic multi" data-link_translate_en_url="Replication+PostgreSQL+Slavic+multi"></span>[[:en:Replication PostgreSQL Slavic multi]][[en:Replication PostgreSQL Slavic multi]] | ||
+ | <span data-link_translate_he_title="שכפול מרובה PostgreSQL סלאבית" data-link_translate_he_url="%D7%A9%D7%9B%D7%A4%D7%95%D7%9C+%D7%9E%D7%A8%D7%95%D7%91%D7%94+PostgreSQL+%D7%A1%D7%9C%D7%90%D7%91%D7%99%D7%AA"></span>[[:he:שכפול מרובה PostgreSQL סלאבית]][[he:שכפול מרובה PostgreSQL סלאבית]] | ||
+ | <span data-link_translate_ro_title="Replicare PostgreSQL slave multi" data-link_translate_ro_url="Replicare+PostgreSQL+slave+multi"></span>[[:ro:Replicare PostgreSQL slave multi]][[ro:Replicare PostgreSQL slave multi]] | ||
+ | <span data-link_translate_ru_title="Multi PostgreSQL славянских репликации" data-link_translate_ru_url="Multi+PostgreSQL+%D1%81%D0%BB%D0%B0%D0%B2%D1%8F%D0%BD%D1%81%D0%BA%D0%B8%D1%85+%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"></span>[[:ru:Multi PostgreSQL славянских репликации]][[ru:Multi PostgreSQL славянских репликации]] | ||
+ | <span data-link_translate_pl_title="Replikacja wielu słowiańskich PostgreSQL" data-link_translate_pl_url="Replikacja+wielu+s%C5%82owia%C5%84skich+PostgreSQL"></span>[[:pl:Replikacja wielu słowiańskich PostgreSQL]][[pl:Replikacja wielu słowiańskich PostgreSQL]] | ||
+ | <span data-link_translate_ja_title="レプリケーション PostgreSQL スラブ マルチ" data-link_translate_ja_url="%E3%83%AC%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3+PostgreSQL+%E3%82%B9%E3%83%A9%E3%83%96+%E3%83%9E%E3%83%AB%E3%83%81"></span>[[:ja:レプリケーション PostgreSQL スラブ マルチ]][[ja:レプリケーション PostgreSQL スラブ マルチ]] | ||
+ | <span data-link_translate_zh_title="复制 PostgreSQL 斯拉夫语多" data-link_translate_zh_url="%E5%A4%8D%E5%88%B6+PostgreSQL+%E6%96%AF%E6%8B%89%E5%A4%AB%E8%AF%AD%E5%A4%9A"></span>[[:zh:复制 PostgreSQL 斯拉夫语多]][[zh:复制 PostgreSQL 斯拉夫语多]] | ||
+ | <span data-link_translate_de_title="Replikation PostgreSQL slawischen multi" data-link_translate_de_url="Replikation+PostgreSQL+slawischen+multi"></span>[[:de:Replikation PostgreSQL slawischen multi]][[de:Replikation PostgreSQL slawischen multi]] | ||
+ | <span data-link_translate_nl_title="Replicatie PostgreSQL Slavische multi" data-link_translate_nl_url="Replicatie+PostgreSQL+Slavische+multi"></span>[[:nl:Replicatie PostgreSQL Slavische multi]][[nl:Replicatie PostgreSQL Slavische multi]] | ||
+ | <span data-link_translate_it_title="Replica PostgreSQL slavo multi" data-link_translate_it_url="Replica+PostgreSQL+slavo+multi"></span>[[:it:Replica PostgreSQL slavo multi]][[it:Replica PostgreSQL slavo multi]] | ||
<span data-link_translate_pt_title="Replicação PostgreSQL eslavo multi" data-link_translate_pt_url="Replica%C3%A7%C3%A3o+PostgreSQL+eslavo+multi"></span>[[:pt:Replicação PostgreSQL eslavo multi]][[pt:Replicação PostgreSQL eslavo multi]] | <span data-link_translate_pt_title="Replicação PostgreSQL eslavo multi" data-link_translate_pt_url="Replica%C3%A7%C3%A3o+PostgreSQL+eslavo+multi"></span>[[:pt:Replicação PostgreSQL eslavo multi]][[pt:Replicação PostgreSQL eslavo multi]] | ||
<span data-link_translate_es_title="Replicación multi de PostgreSQL Slavic" data-link_translate_es_url="Replicaci%C3%B3n+multi+de+PostgreSQL+Slavic"></span>[[:es:Replicación multi de PostgreSQL Slavic]][[es:Replicación multi de PostgreSQL Slavic]] | <span data-link_translate_es_title="Replicación multi de PostgreSQL Slavic" data-link_translate_es_url="Replicaci%C3%B3n+multi+de+PostgreSQL+Slavic"></span>[[:es:Replicación multi de PostgreSQL Slavic]][[es:Replicación multi de PostgreSQL Slavic]] |
المراجعة الحالية بتاريخ ١٧:٥٣، ٩ فبراير ٢٠١٧
ar:النسخ المتماثل السلافية كيو متعدد
en:Replication PostgreSQL Slavic multi
he:שכפול מרובה PostgreSQL סלאבית
ro:Replicare PostgreSQL slave multi
ru:Multi PostgreSQL славянских репликации
pl:Replikacja wielu słowiańskich PostgreSQL
ja:レプリケーション PostgreSQL スラブ マルチ
zh:复制 PostgreSQL 斯拉夫语多
de:Replikation PostgreSQL slawischen multi
nl:Replicatie PostgreSQL Slavische multi
it:Replica PostgreSQL slavo multi
pt:Replicação PostgreSQL eslavo multi
es:Replicación multi de PostgreSQL Slavic
fr:Replication PostgreSQL multi slaves
هام: تمت ترجمة هذه المقال باستخدام برامج للترجمة الآلية, لقرائة النسخة الأصلية أنقر على الرابط
مقدمة
هذه الصفحة تتناول تنفيذ شبكة الإنترنت غير متزامن لقطات النسخ المتماثل مع رئيسي واحد واثنين من العبيد. سيتم تكوين لدينا السلافية كالاستعداد الساخنة، وهذا يعني أنه سيكون من الممكن لتشغيل الاستعلامات (للقراءة فقط ) في هذه.
سياق هذا الموضع :
لدينا 3 خوادم ديبيان 8 (آخر تحديث ) :
Postgres 01 (10.1.1.75) : وسيكون لدينا ماجستير
Postgres02 (10.1.1.90) : وسوف يكون عبدا
Postgres03 (10.1.1.199) : وسوف يكون عبدا ثانية
المحدد سوف تكون أوامر بتنفيذ كجذر عندما كانت مسبوقة ب "#" Postgres نظام المستخدم عند أنها تكون مسبوقة ب "$".
تركيب شبكة الإنترنت وما قبل تكوين الملقمات ثلاثة
كافة الأوامر الموجودة في هذا الجزء يجب القيام به على كل من الملقمات.
كخطوة أولى، من المستحسن أن يكون لديك ملف واحد /etc/hosts المأهولة بالسكان مع المباريات لكل ملقم، مثل هذا (بتكييف مع عناوين ip وأسماء المضيفين من الملقمات الخاصة بك ) :
# cat /etc/hosts 127.0.0.1 localhost 10.1.1.75 Postgres 01 10.1.1.90 Postgres 02 10.1.1.199 Postgres 03
إضافة إيداع كيو APT :
# echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/postgres.list
ونحن استيراد المفتاح العمومي لهذا الإيداع :
# gpg --keyserver pgpkeys.mit.edu --recv-key 7FCC7D46ACCC4CF8 && gpg -a --export 7FCC7D46ACCC4CF8 | apt-key add -
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: requesting key ACCC4CF8 from hkp server pgpkeys.mit.edu
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key ACCC4CF8: public key "PostgreSQL Debian Repository" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
أنه يقوم بتحديث ذاكرة التخزين المؤقت الرابطة تأخذ في الاعتبار الإيداع :
# apt-get update
تثبيت الحزمة كيو (تثبيت أحدث إصدار مستقر 9.5 وفي الوقت حيث تتم كتابة هذه السطور ) :
# apt-get install postgresql
علينا أن نحدد كلمة مرور (من اختياره لكن آمنة ) ويولد زوج مفتاح سة (دون المرور ) للمستخدم postgres نظام :
# passwd postgres
# su - postgres
$ ssh-keygen
نحن نسخ postgres المستخدم من بين كل ملقم العامة سة مفتاح :
ومنذ أول خادم (postgres01 وفي حالتنا ) صوب الثاني (postgres02 بالنسبة لنا ) وترويسيسيمي (postgres03) :
root@postgres01:~# su - postgres
postgres@postgres01:~$ ssh-copy-id postgres02
postgres@postgres01:~$ ssh-copy-id postgres03
من الدورة الثانية إلى الملقم الأولى والثالثة :
root@postgres02:~# su - postgres
postgres@postgres02:~$ ssh-copy-id postgres01
postgres@postgres02:~$ ssh-copy-id postgres03
من الثالث إلى الخادم الأول والثاني :
root@postgres03:~# su - postgres
postgres@postgres03:~$ ssh-copy-id postgres01
postgres@postgres03:~$ ssh-copy-id postgres02
تكوين ماستر
هل فقط على الشريحة الرئيسية (postgres01 وفي حالتنا ) :
يقوم بالدور /المستخدم النسخ المتماثل :
# su - postgres
$ psql -c "CREATE USER repuser REPLICATION LOGIN CONNECTION LIMIT 2 ENCRYPTED PASSWORD '<mot de passe repuser>';"
ملاحظة : ويعرف حد اتصال ل 2 لأن لدينا 2 السلافية
تحرير ملف التكوين الرئيسي كيو /etc/postgresql/9.5/main/postgresql.conf لتكوين التوجيهات التالية :
listen_addresses = '*'
wal_level = hot_standby
archive_mode = on
archive_command = 'rsync -av %p postgres@<ip du premier slave>:/var/lib/postgresql/wal_archive/%f'
max_wal_senders = 2
wal_keep_segments = 256
hot_standby = on
ملاحظة : أننا تمكين الأرشفة للخادم الثاني (تخصيص عنوان ip للملقم الخاص بك ) لمزيد من الاحتياطات. ونحن أيضا تعريف hot_standby المعلمات، إضافة إلى أن تجاهل على ماجستير، حيث ينبغي أن يكون تخفيض للرقيق في المستقبل.
الآن تحرير ملف المصادقة كيو /etc/postgresql/9.5/main/pg_hba.conf لإضافة إذن لدينا النسخ المتماثل المستخدم للاتصال من أعمالنا السلافية أو السطر التالي في نهاية الملف :
hostssl replication repuser <ip du réseau de vos serveurs>/24 md5
الرجاء التكيف مع هذا الخط وفقا لاسم المستخدم الخاص بك النسخ المتماثل وشبكة (أو عناوين ip الخاصة ) من الخاص بك السلافية
إعادة تشغيل خدمة الإنترنت أن تأخذ في الاعتبار أن التكوين (في جذر ) :
# systemctl restart postgresql
وهذا ما يضمن أن يتم بدء تشغيل الخدمة بشكل صحيح :
root@postgres01:~# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: active (exited) since Thu 2016-06-02 12:06:28 CEST; 22s ago
Process: 77056 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 77056 (code=exited, status=0/SUCCESS)
root@postgres01:~# ps -u postgres u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
postgres 77038 0.0 4.4 227300 21836 ? S 12:06 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.
postgres 77040 0.0 0.8 227300 4160 ? Ss 12:06 0:00 postgres: checkpointer process
postgres 77041 0.0 1.0 227300 4968 ? Ss 12:06 0:00 postgres: writer process
postgres 77042 0.0 1.7 227300 8776 ? Ss 12:06 0:00 postgres: wal writer process
postgres 77043 0.0 1.3 227728 6708 ? Ss 12:06 0:00 postgres: autovacuum launcher process
postgres 77044 0.0 0.6 82244 3392 ? Ss 12:06 0:00 postgres: archiver process
postgres 77045 0.0 0.8 82244 4244 ? Ss 12:06 0:00 postgres: stats collector process
تكوين السلاف
على الرقيق الأولى
نبدأ بإيقاف خدمة الإنترنت :
# systemctl stop postgresql
تحرير ملف التكوين الرئيسي كيو /etc/postgresql/9.5/main/postgresql.conf لتكوين نفس المبادئ التوجيهية كسيد، بالخياطة فقط الملكية الفكرية الرقيق أول طريق الرقيق الثانية في rsync الأمر أرشيف أما :
listen_addresses = '*'
wal_level = hot_standby
archive_mode = on
archive_command = 'rsync -av %p postgres@<ip du second slave>:/var/lib/postgresql/wal_archive/%f'
max_wal_senders = 2
wal_keep_segments = 256
hot_standby = on
الآن تحرير ملف المصادقة كيو /etc/postgresql/9.5/main/pg_hba.conf لإضافة إذن لدينا النسخ المتماثل المستخدم للاتصال من الخوادم الأخرى (ستستخدم هذه عند هذا الرقيق من المتوقع تعزيز الرئيسية ) :
hostssl replication repuser <ip du réseau de vos serveurs>/24 md5
ملاحظة : مع هذا التكوين مشابهة لسيدنا هذا سيسمح بسهولة تعزيز هذا الرقيق كرئيسية في حالة الضرورة.
لعمليات أدناه، تسجيل الدخول كمستخدم postgres نظام :
# su – postgres
نقوم بإنشاء الدليل الوجهة ل wal المحفوظات الرئيسي :
$ mkdir /var/lib/postgresql/wal_archive
فهو يزيل دليل البيانات كيو :
$ rm -rf /var/lib/postgresql/9.5/main
يجعل النسخ الاحتياطي قاعدة (تخصيص ip الرئيسي الخاص بك واسم المستخدم الخاص بك النسخ المتماثل )، كلمة مرور المستخدم النسخ المتماثل الخاص بك سيطلب منك :
$ pg_basebackup -h <ip de votre master> -D /var/lib/postgresql/9.5/main -U repuser -v -P --xlog
يقوم بتكوين النسخ المتماثل بإنشاء الملف /var/lib/postgresql/9.5/main/recovery.conf مع المعلمات التالية :
standby_mode = on
primary_conninfo = 'host=<ip de votre master> port=5432 user=repuser password=<mot de passe de repuser> sslmode=require application_name=<hostname de votre slave>'
trigger_file = '/var/lib/postgresql/9.5/postgres.trigger'
ملاحظة : تحريك الملف هو ملف نخلق عندما نريد له عبدا توقف النسخ المتماثل، وسوف تبدأ في قبول إدخالات — عندما تريد الترويج له كسيد. قبل تعزيز رقيق في حالة تحطم سيدها، تأكد من أن المجلد الرئيسي الأولى لم ترتفع لتجنب الفساد.
نعود إلى الجذر، وأنها تبدأ بتشغيل الخدمة :
# systemctl start postgresql
وهذا ما يضمن أن بدء تشغيل الخدمة بشكل صحيح :
# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: active (exited) since Thu 2016-06-02 12:53:42 CEST; 1min 6s ago
Process: 8894 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 8894 (code=exited, status=0/SUCCESS)
# ps -u postgres u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
postgres 8878 0.0 4.4 227308 21892 ? S 12:53 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.
postgres 8879 0.0 1.1 227376 5700 ? Ss 12:53 0:00 postgres: startup process recovering 00000001000000000000000
postgres 8880 0.0 0.8 227308 4140 ? Ss 12:53 0:00 postgres: checkpointer process
postgres 8881 0.0 1.0 227308 5236 ? Ss 12:53 0:00 postgres: writer process
postgres 8882 0.0 0.6 82252 3316 ? Ss 12:53 0:00 postgres: stats collector process
postgres 8883 0.0 1.7 238064 8520 ? Ss 12:53 0:00 postgres: wal receiver process streaming 0/30003E0
إذا كان ذلك يتصل بسيدنا، يمكننا أن تحقق فعلا لدينا النسخ المتماثل بين سيد والرقيق الأولى وظيفية :
فإنه يتصل بسيدنا واتصاله بنظام postgres المستخدم :
# su - postgres
ثم الاتصال بالإنترنت :
$ psql
فإنه يمكن عرض موسع ونحن تحقق لدينا النسخ المتماثل :
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 78879
usesysid | 16384
usename | repuser
application_name | postgres02
client_addr | 10.1.1.90
client_hostname |
client_port | 49009
backend_start | 2016-06-02 12:53:36.641823+02
backend_xmin |
state | streaming
sent_CRElocation | 0/30004C0
write_location | 0/30004C0
flush_location | 0/30004C0
replay_location | 0/30004C0
sync_priority | 0
sync_state | async
وتتكون جيدا لدينا النسخ المتماثل تدفق غير متزامن مع الرقيق الأولى لدينا. هذه المرحلة بشكل رئيسي النسخ المتماثل /الرقيق الكلاسيكية (واحد الرقيق تدفق غير متزامن )
على الرقيق الثانية
ونحن ريديد نفس ما تم عمله على الرقيق الأولى من الواضح أن تكييف لها اسم المضيف في ملف recovery.conf والملكية الفكرية معالجة في الأمر لحفظها في ملف التكوين الرئيسي إذا كنت ترغب أيضا في تمكين أرشفة على هذا الرقيق الثانية.
ماجستير التحقق واختبار لدينا متعددة النسخ المتماثل السلافية
وهو يربط سيد وأنه يتم تسجيل في postgres المستخدم :
# su – postgres
ثم الاتصال بالإنترنت :
$ psql
فإنه يمكن عرض موسع ونحن تحقق لدينا النسخ المتماثل :
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 78879
usesysid | 16384
usename | repuser
application_name | postgres02
client_addr | 10.1.1.90
client_hostname |
client_port | 49009
backend_start | 2016-06-02 12:53:36.641823+02
backend_xmin |
state | streaming
sent_location | 0/5000140
write_location | 0/5000140
flush_location | 0/5000140
replay_location | 0/5000140
sync_priority | 0
sync_state | async
-[ RECORD 2 ]----+------------------------------
pid | 82725
usesysid | 16384
usename | repuser
application_name | postgres03
client_addr | 10.1.1.199
client_hostname |
client_port | 51754
backend_start | 2016-06-02 14:31:43.759683+02
backend_xmin |
state | streaming
sent_location | 0/5000140
write_location | 0/5000140
flush_location | 0/5000140
replay_location | 0/5000140
sync_priority | 0
sync_state | async
حسنا حتى أنه يوجد لدينا 2 النسخ المتماثل مع خدمتنا السلافيين اثنين (postgres02 و postgres 03).
لا تزال متصلاً بالإنترنت على الشريحة الرئيسية، فإنه ينشئ بيانات قاعدة (ex : تشيكريب ) :
postgres=# CREATE DATABASE checkrep;
التحقق من أن قاعدة البيانات أيضا النسخ المتماثل في أعمالنا 2 السلافية :
root@postgres02:~# su - postgres
postgres@postgres02:~$ psql
psql (9.5.3)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
checkrep | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
root@postgres03:~# su - postgres
postgres@postgres03:~$ psql
psql (9.5.3)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
checkrep | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
قاعدة البيانات التي قمنا بإنشاء على سيدنا ذلك أيضا تلقائياً إجراء نسخ متماثل إلى أعمالنا السلافيين اثنين.
لحذف, منذ سيد :
postgres=# DROP DATABASE checkrep;
تمكين المحدث التلقائي للتعليق