Ինչպես կարգադրել Պատճառները PostgreSQL- ում Ubuntu 18.04 VPS- ում կամ Նվիրաբեր սերվերի վրա

Ներածություն

Տվյալները մեկ վայրում պահելը սովորաբար ռիսկային բան է: Սովորաբար խորհուրդ է տրվում, որ դուք ունենաք ծրագիր, որպեսզի ապահովեք վերականգնել աղետը հենց այն հարվածի հասցնելուն պես.


Աղետների վերականգնման արդյունավետ պլան ապահովելու համար մեկ լավ միջոց `նույն սերվերի վրա նույն տվյալներն ունենալն ու դրանք համաժամեցված պահելն է: Տվյալների բազայի սերվերները սովորաբար միասին աշխատում են, որպեսզի ստանձնեն մեկը, եթե հիմնական / գլխավոր սերվերը ձախողվի, հետևաբար ստեղծելով բարձր մատչելիություն: Տվյալների բազայի մի քանի սերվերներ կարող են միաժամանակ ծառայել նույն տվյալներին, սա կոչվում է Load Balancing.

Այս ուղեցույցում դուք’Ես կսովորեմ, թե ինչպես կարգաբերել վարպետ-ստրուկի կրկնօրինակումը, որտեղ տվյալների բազայում աշխատող սերվերը կունենան իրեն տրված ընթերցանության-գրավոր թույլտվությունները, իսկ երկրորդը կարդա դրան տրված միայն թույլտվությունները:.

Սկսելուց առաջ

  • 2 Ubuntu 18.04 վիրտուալ մասնավոր սերվերներ (VPS- ներ) կամ Նվիրաբեր սերվերներ, որոնք չունեն օգտագործող ունեն sudo արտոնություններ: Մեկը հանդես կգա որպես վարպետ, իսկ մյուսը ՝ որպես սպասման / ստրուկ սերվեր.
  • PostgreSQL- ն տեղադրվեց և կազմաձևվեց երկու սերվերների վրա: Դուք կարող եք սովորել, թե ինչպես տեղադրել PostgreSQL տվյալների շտեմարանի սերվերը Ubuntu 18.04-ում ՝ այստեղ

Քայլեր

Դուք նախ պետք է փոխեք ունկնդրման հասցեն PostgreSQL կազմաձևման էջում: Սերվերը պետք է կարողանա լսել բոլոր նավահանգիստները.

$ sudo vim /etc/postgresql/9.5/main/postgresql.conf

Հատուկ նշում. Postgresql- ի տարբերակը կարող է տարբեր լինել, ուստի ձեր ճանապարհը կարող է տարբերվել վերը նշվածից.

Որոնեք listen_addresses բառը ձեր խմբագրին կամ նախադրեք համարները և ոլորեք դեպի 59 տողը.

Անհամաձայնեցրեք գիծը և փոխեք localhost անունը *, ինչը հնարավորություն է տալիս սերվերին լսել բոլոր IP հասցեները: Անհրաժեշտ է հետևյալ քաղվածք դիտել.


#——————————————————————————
# ՀԵՏԱԴՐՈՒՄՆԵՐ ԵՎ ՀԵՂԻՆԱԿԱ
#——————————————————————————

# – կապի կարգավորումներ –

listen_addresses = ‘*’ # ինչ IP հասցե (ներ) ում լսել;
# ստորակետերով առանձնացված հասցեների ցուցակը.
# կանխադրված «localhost» – ին; օգտագործեք ‘*’ բոլորի համար

Փակեք ձեր խմբագրիչը `փոփոխությունները պահպանելիս և վերաբեռնեք postgresql ծառայությունը` փոփոխություններ կատարելու համար

$ sudo systemctl- ը վերագործարկել postgresql- ը

Ստեղծեք նմուշների շտեմարան

Կրկնօրինակման փորձարկման նպատակների համար ստեղծել նմուշների աղյուսակ, որը կոչվում է նիշ.

Մուտք գործեք ձեր postgres տվյալների շտեմարան

$ sudo -i -u postgres psql postgres
# CREATETABLE գծանշաններ (ֆեյմի տեքստ, նիշերի նկարահանումների սերիան, datetimestamp, նկարագրական տեքստ)

Այժմ տեղադրեք ընտրանքային տվյալները ձեր նորաստեղծ աղյուսակում.

# INSERTINTOcharactions (անունը, ամսաթիվը, նկարագրությունը) VALUES (‘Griffin’, ընթացիկ_օրինակը, ‘Սա ընտրանքի նիշ է’);
INSERT01

Հիմնական սերվերի կազմաձևում

PostgreSQL- ը պահանջում է դեր / օգտվող `հատուկ թույլտվություններով, կրկնօրինակման նպատակով.

$ sudo -u postgres ստեղծող – U postgres replicationuser -P -c 5 – կրկնություն

Հատուկ նշում. Ստեղծող հրամանի ընտրանքների մասին կարող եք ծանոթանալ այստեղ: Համոզվեք նաև, որ արտադրական միջավայրում վերարտադրողի գաղտնաբառն ուժեղ է `խուսափելու այնպիսի դեպքերից, ինչպիսիք են դաժանությունը կամ հեշտ գաղտնաբառ գուշակելը:.

Դրանից հետո անհրաժեշտ է ստեղծել արխիվային գրացուցակ, որը կլինի ձեր կլաստերի ենթածրագիր’հիմնական լռելյայն գրացուցակը.

$ sudo mkdir -p /var/lib/postgresql/9.5/main/mnt/server/archivedir

Կազմաձևել pg_hba.conf ֆայլ

$ sudo vim /etc/postgresql/9.5/main/pg_hba.conf

Որոնեք վերարտադրման բաժինը, ապա կրկնօրինակման օգտագործողի վրա ավելացրեք հետևյալ գրառումը ՝ հետևյալ տեսք ունենալու համար: Հիշեք փոխարինել ձեր ծառայի սերվերի IP հասցեն.

# Թույլ տալ կրկնօրինակման միացումներ
հյուրընկալող վերարտադրման վերարտադրող 192.168.56.20/24 md5

Ելք կատարելիս ՝ փոփոխությունները պահպանելիս.

Խմբագրել postgresql.փխրուն

$ sudo vim /etc/postgresql/9.5/main/postgresql.conf

Խմբագրել հետևյալ պարամետրերը: Մի մոռացեք անպարկեշտ մեկնաբանել ձեր ցանկացած խմբագրումը.

listen_addresses = ‘*’
wal_level = hot_standby
archive_mode = միացված
Archive_commend = ‘թեստ! -f mnt / server / archivedir /% զ && cp% p mnt / server / archivedir /% f ‘
max_wal_senders = 3

Ելք կատարելիս ՝ փոփոխությունները պահպանելիս և վերագործարկել postgresql ծառայությունը

$ sudo systemctl- ը վերագործարկել postgresql- ը

Ստրուկի սերվերի կազմաձևում

Նախ, դադարեցրեք postgresql ծառայությունը ձեր ծառայի սերվերի վրա.

$ sudo systemctl stop postgresql

Postgresql գրացուցակում հիմնականը վերանվանեք այլ բանի, քանի որ կրկնօրինակը ստացավ’t փոխարինել գոյություն ունեցող ֆայլերը նույն թղթապանակում.

$ sudo mv /var/lib/postgresql/9.3/main /var/lib/postgresql/9.3/main_old

Գործարկել pg_basebackup ծրագիրը: Փոխեք ip- ը ձեր գլխավոր սերվերի IP հասցեով.

$ sudo -u postgres pg_basebackup -h 192.168.56.20 -D /var/lib/postgresql/9.5/main -U replicationuser -v -P –xlog-metod = հոսք

Հարցման ժամանակ մուտքագրեք ձեր հիմնական վարիչի վրա տեղադրված կրկնօրինակողի գաղտնաբառ.

Խմբագրել postgresql.conf ֆայլ

$ sudo vim /etc/postgresql/9.5/main/postgresql.conf

Փնտրեք hot_standby- ի կարգաբերման տարբերակը և փոխեք այն վրա.

Ելք կատարելիս ՝ փոփոխությունները պահպանելիս.

Այժմ դուք պետք է տրամադրեք վերականգնման պարամետրերը, որոնք կօգտագործվեն տվյալների վերականգման դեպքում.

$ sudo cp -avr /usr/share/postgresql/9.5/recovery.conf.sample /var/lib/postgresql/9.5/main/recovery.conf

Խմբագրել վերականգնման ֆայլը

$ sudo vim /var/lib/postgresql/9.5/main/recovery.conf

Փնտրեք standby_mode- ը և փոխեք տարբերակը վրա սերվերին հնարավորություն տալու համար մնալ սպասման ռեժիմում.

Փնտրեք basic_conninfo- ն և ավելացրեք վարպետի սերվերի մանրամասները

basic_conninfo = ‘host = 192.168.56.20 port = 5432 user = replicationuser գաղտնաբառը[email protected]%’

Ելք կատարելիս ՝ փոփոխությունները պահպանելիս.

Սկսեք postgresql ծառայությունը ձեր ծառայի սերվերի վրա

$ sudo systemctl start postgresql

Թեստ-վերարտադրություն

Անցեք ձեր վարպետ սերվերին ձեր ստեղծած աղյուսակում: Ավելացնել նոր գրառում.

$ sudo -u postgres psql postgres

# INSERTINTOcharacter (անունը, ամսաթիվը, նկարագրությունը) VALUES (‘Sanchez’, ընթացիկ_օրինակը. ‘Սա ընտանիքի տղայի բնույթ է’);
INSERT01

Վերադարձեք ձեր ստրուկ սերվերին Postgres տվյալների բազայում և դիտեք տվյալները

$ sudo -u postgres psql postgres
# SELECT * FROMcharacter
ֆեյմ | բնութագիր | ամսաթիվը | նկարագրություն
———+————–+———————+—————————-
Գրիֆին | 1 | 2018-10-22 00:00:00 | Սա ընտրանքի նիշ է
Սանչես | 2 | 2018-10-2200: 00: 00 | Ռիկի և Մորթի կերպար
(2 տող)

Եզրակացություն

Եթե ​​դուք կարողացել եք դիտել ձեր ստրուկ սերվերի տվյալները ձեր վարպետի սերվերում տեղադրվելուց հետո, դա նշանակում է, որ դուք հաջողությամբ կարգաբերել եք ձեր PostgreSQL վարպետ-ստրուկի կրկնօրինակումը.

Ձախողման որոնման երկու եղանակ կա, երբ գլխավոր սերվերը հանկարծ դադարել է աշխատել; Դուք կարող եք կամ օգտագործել pg_ctl հրամանը, կամ կարող եք ձեր ստրուկի սերվերում տեղադրել ազդարարի ֆայլի տեղադրություն’s /etc/postgresql/9.5/main/postgresql.conf ֆայլ: Ֆայլում պարզապես որոնեք և չհամաձայնեցրեք trig_file = ‘/tmp/postgresql.trigger.5432’line.

Ստուգեք այս լավագույն 3 լավագույն վեբ հոստինգի ծառայությունները

FastComet

Մեկնարկային գինը.
$ 2,95


Հուսալիություն
9,7


Գնագոյացում
9.5


Օգտագործող ընկերական
9,7


Աջակցություն
9,7


Հատկություններ
9,6

Կարդացեք ակնարկներ

Այցելեք FastComet

A2 հոստինգ

Մեկնարկային գինը.
$ 3,92


Հուսալիություն
9.3


Գնագոյացում
9.0


Օգտագործող ընկերական
9.3


Աջակցություն
9.3


Հատկություններ
9.3

Կարդացեք ակնարկներ

Այցելեք A2 հոստինգ

ChemiCloud

Մեկնարկային գինը.
$ 2,76


Հուսալիություն
10-ը


Գնագոյացում
9.9


Օգտագործող ընկերական
9.9


Աջակցություն
10-ը


Հատկություններ
9.9

Կարդացեք ակնարկներ

Այցելեք ChemiCloud

Առնչվող հոդվածներ

  • Ինչպե՞ս ստեղծել բարձր առկայություն MySQL- ի Replication- ով Ubuntu 18.04 VPS- ի կամ Նվիրված սերվերի վրա
    միջանկյալ
  • Ինչպես ապահովել phpMyAdmin- ը Ubuntu 18.04 VPS- ում կամ Նվիրաբեր սերվերում
    միջանկյալ
  • Ինչպես տեղադրել MYSQL 8.0 և ստեղծել տվյալների բազա Ubuntu 18.04 Linux VPS- ում
    միջանկյալ
  • Ինչպես կրկնօրինակել ձեր MySQL տվյալների բազան Ubuntu 18.04 VPS- ի կամ Նվիրված սերվերի վրա
    միջանկյալ
  • Ինչպե՞ս տեղադրել LLMP Stack- ը Ubuntu 18.04 VPS սերվերի կամ Նվիրված սերվերի վրա
    միջանկյալ
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map