Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

Bha e riatanach dhomh cùl-taic a dhèanamh den làrach gu 2C-Bitrix: Riaghladh Làraich 1 uair san latha (faidhlichean agus stòr-dàta mysql) agus eachdraidh atharrachaidhean a stòradh airson 90 latha.

Tha an làrach suidhichte air VDS a’ ruith CentOS 7 le “1C-Bitrix: Web Environment” air a chuir a-steach. A bharrachd air an sin, dèan lethbhreac cùl-taic de na roghainnean OS.

Riatanasan:

  • tricead - 2 tursan san latha;
  • Cùm lethbhric airson na 90 latha mu dheireadh;
  • an comas faidhlichean fa leth fhaighinn airson ceann-latha sònraichte, ma tha sin riatanach;
  • Feumaidh an cùl-taic a bhith air a stòradh ann an ionad dàta a bharrachd air VDS;
  • An comas faighinn chun chùl-taic bho àite sam bith (frithealaiche eile, coimpiutair ionadail, msaa).

B’ e puing chudromach an comas cùl-taic a chruthachadh gu sgiobalta le glè bheag de chaitheamh de rùm agus goireasan siostam a bharrachd.

Chan eil seo mu dheidhinn dealbh airson ath-nuadhachadh sgiobalta den t-siostam gu lèir, ach mu fhaidhlichean agus an stòr-dàta agus eachdraidh nan atharrachaidhean.

Dàta stòr:

  • VDS air virtualization XEN;
  • OS CentOS 7;
  • 1C-Bitrix: Web àrainneachd;
  • Làrach stèidhichte air "1C-Bitrix: Riaghladh Làrach", Tionndadh àbhaisteach;
  • Is e meud an fhaidhle 50 GB agus fàsaidh e;
  • Tha meud an stòr-dàta 3 GB agus fàsaidh e.

Cùl-taic àbhaisteach air a thogail a-steach do 1C-Bitrix - air a dùnadh a-mach sa bhad. Tha e freagarrach a-mhàin airson làraichean beaga, oir:

  • A’ dèanamh leth-bhreac slàn den làrach gach turas, fa leth, gabhaidh gach leth-bhreac na h-uimhir de dh’ àite ’s a ghabhas mi na faidhlichean, nam chùis-sa is e 50 GB a th’ ann.
  • Bithear a’ dèanamh cùl-taic le bhith a’ cleachdadh PHP, rud a tha do-dhèanta le leithid de fhaidhlichean, bheir e cus air an fhrithealaiche agus cha tig e gu crìch gu bràth.
  • Agus gu dearbh, chan urrainn bruidhinn mu 90 latha sam bith nuair a bhios tu a’ stòradh leth-bhreac slàn.

Is e am fuasgladh a tha an òstair a’ tabhann diosc cùl-taic a tha suidhichte san aon ionad dàta ris an VDS, ach air frithealaiche eile. Faodaidh tu obrachadh leis an diosc tro FTP agus na sgriobtaichean agad fhèin a chleachdadh, no ma tha ISPManager air a chuir a-steach air an VDS, an uairsin tron ​​​​mhodal cùl-taic aige. Chan eil an roghainn seo freagarrach air sgàth cleachdadh an aon ionad dàta.

Bho na tha gu h-àrd, is e an roghainn as fheàrr dhomh cùl-taic mean air mhean a rèir an t-suidheachaidh agam fhèin ann an Yandex.Cloud (Stòradh Rud) no Amazon S3 (Seirbheis Stòraidh Sìmplidh Amazon).

Feumaidh seo:

  • ruigsinneachd bunaiteach air VDS;
  • goireas dùblachadh air a chuir a-steach;
  • cunntas ann an Yandex.Cloud.

cùl-taic mean air mhean - dòigh anns nach eil ach dàta a tha air atharrachadh bhon chùl-taic mu dheireadh air a thasgadh.

dùblachadh - goireas cùl-taic a chleachdas algorithms rsync agus as urrainn obrachadh le Amazon S3.

Yandex.Cloud vs Amazon S3

Chan eil eadar-dhealachadh sam bith eadar Yandex.Cloud agus Amazon S3 sa chùis seo dhòmhsa. Tha Yandex a 'toirt taic don phrìomh phàirt den Amazon S3 API, gus an urrainn dhut obrachadh leis a' cleachdadh na fuasglaidhean a tha rim faotainn airson a bhith ag obair le S3. Anns a 'chùis agam, is e seo an goireas dùblachaidh.

Is e am prìomh bhuannachd a th 'aig Yandex pàigheadh ​​​​ann an rubles, ma tha tòrr dàta ann, cha bhi ceangal sam bith ris a' chùrsa. A thaobh astar, bidh ionadan dàta Eòrpach Amazon ag obair gu co-chosmhail ri feadhainn Ruiseanach ann an Yandex, mar eisimpleir, faodaidh tu Frankfurt a chleachdadh. Chleachd mi Amazon S3 roimhe airson gnìomhan coltach ris, a-nis chuir mi romhpa feuchainn air Yandex.

A 'stèidheachadh Yandex.Cloud

1. Feumaidh tu cunntas bileachaidh a chruthachadh ann an Yandex.Cloud. Gus seo a dhèanamh, feumaidh tu logadh a-steach gu Yandex.Cloud tron ​​​​chunntas Yandex agad no cruthaich fear ùr.

2. Cruthaich Cloud.
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

3. Ann an "Cloud" cruthaich "Catalog".
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

4. Airson an "Catalogue" cruthaich "cunntas seirbheis".
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

5. Airson an "Seirbheis cunntas" cruthaich iuchraichean.
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

6. Cùm na h-iuchraichean, bidh feum agad orra san àm ri teachd.
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

7. Airson an "Catalog" cruthaich "Bucaid", tuitidh faidhlichean ann.
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

8. Tha mi a 'moladh a bhith a' suidheachadh crìoch agus a 'taghadh "Fuar Storage".
Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

A' stèidheachadh lethbhreacan-glèidhidh clàraichte air an fhrithealaiche

Tha an iùl seo a’ gabhail ri sgilean rianachd bunaiteach.

1. Stàlaich an goireas dùblachaidh air an VDS

yum install duplicity

2. Cruthaich pasgan airson dumps mysql, anns a 'chùis agam is e /backup_db a th' ann am freumh VDS

3. Cruthaich pasgan airson sgriobtaichean bash /backup_scripts agus dèan a’ chiad sgriobt a nì cùl-taic /backup_scripts/backup.sh

Susbaint an sgriobt:

#!`which bash`


# /backup_scripts/backup.sh

# Это условие проверяет не идёт ли в данный момент процесс резервного копирования, если идёт, то на email отправляется сообщение об ошибке (этот блок можно не использовать)
if [ -f /home/backup_check.mark ];
then

DATE_TIME=`date +"%d.%m.%Y %T"`;

/usr/sbin/sendmail -t <<EOF
From:backup@$HOSTNAME
To:<Ваш EMAIL>
Subject:Error backup to YANDEX.CLOUD
Content-Type:text/plain; charset=utf-8
Error backup to YANDEX.CLOUD

$DATE_TIME
EOF

else

# Основной блок отвечающий за резервное копирование
# Если нет ощибки ставим метку и запускаем backup

echo '' > /home/backup_check.mark;


# Удаляем файлы с дампами базы оставшиеся от предыдущего backup

/bin/rm -f /backup_db/*


# Делаем дамп всех mysql баз, предполагается что доступ добавлен в файле /root/.my.cnf

DATETIME=`date +%Y-%m-%d_%H-%M-%S`;

`which mysqldump` --quote-names --all-databases | `which gzip` > /backup_db/DB_$DATETIME.sql.gz


# Добавляем данные для отправки в Яндекс.

export PASSPHRASE=<Придумайте пароль для шифрования архива>
export AWS_ACCESS_KEY_ID=<Идентификатор ключа полученный у Яндекса>
export AWS_SECRET_ACCESS_KEY=<Секретный ключ полученный у Яндекса>


# Запускаем duplicity для резервирования необходимых папок на сервере.
# Данная команда будет создавать полный backup раз в месяц и до следующего месяца добавлять инкрементальные к нему
# -- exclude это папки, которые нужно исключить, я исключаю все папки с кешем битрикса
# --include папки которые нужно резервировать в моём случае это:
# - /backup_db
# - /home
# - /etc
# s3://storage.yandexcloud.net/backup , backup это имя созданного выше бакета

# Техническая особенность и значения некоторых параметров:
# Две строки "--exclude='**'" и "/" нужны, чтобы можно было выше оперировать --include и --exclude для разных папок. Эти две строчки сначала добавляют в бэкап весь сервер "/", потом исключают его "--exclude='**'"
# --full-if-older-than='1M' - создавать полную копию каждый месяц
# --volsize='512' - максимальный размер каждого из файлов в бэкапе в мегабайтах
# --log-file='/var/log/duplicity.log' - куда писать лог файл

`which duplicity` 
    --s3-use-ia --s3-european-buckets 
    --s3-use-new-style 
    --s3-use-multiprocessing 
    --s3-multipart-chunk-size='128' 
    --volsize='512' 
    --no-print-statistics 
    --verbosity=0 
    --full-if-older-than='1M' 
    --log-file='/var/log/duplicity.log' 
    --exclude='**/www/bitrix/backup/**' 
    --exclude='**/www/bitrix/cache/**' 
    --exclude='**/www/bitrix/cache_image/**' 
    --exclude='**/www/bitrix/managed_cache/**' 
    --exclude='**/www/bitrix/managed_flags/**' 
    --exclude='**/www/bitrix/stack_cache/**' 
    --exclude='**/www/bitrix/html_pages/*/**' 
    --exclude='**/www/bitrix/tmp/**' 
    --exclude='**/www/upload/tmp/**' 
    --exclude='**/www/upload/resize_cache/**' 
    --include='/backup_db' 
    --include='/home' 
    --include='/etc' 
    --exclude='**' 
    / 
    s3://storage.yandexcloud.net/backup



# Данная команда нужна для чистки.
# Она оставляет 3 последних полных backup и ассоциированных с ними инкрементальных backup.
# Т.о. у меня остаются backup за 3 месяца, т.к. первая команда каждый месяц делает новый полный backup

`which duplicity` remove-all-but-n-full 3 --s3-use-ia --s3-european-buckets --s3-use-new-style --verbosity=0 --force s3://storage.yandexcloud.net/backup



unset PASSPHRASE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

# Удаляем метку об идущем backup

/bin/rm -f /home/backup_check.mark;

fi

4. Ruith an sgriobt airson a 'chiad uair agus thoir sùil air an toradh, bu chòir faidhlichean nochdadh anns a' bhucaid.

`which bash` /backup_scripts/backup.sh

Cùl-taic VDS mean air mhean le làrach air 1C-Bitrix ann an Yandex.Cloud

5. Cuir sgriobt gu cron airson an neach-cleachdaidh freumh a chur gu bàs 2 tursan san latha, no cho tric 'sa dh'fheumas tu.

10 4,16 * * * `which bash` /backup_scripts/backup.sh

Ath-bheothachadh dàta bho Yandex.Cloud

1. Dèan pasgan ath-nuadhachaidh /backup_restore

2. Dèan bash ath-nuadhachadh sgriobt /backup_scripts/restore.sh

Bheir mi seachad an eisimpleir as motha a chaidh iarraidh air faidhle sònraichte fhaighinn air ais:

#!`which bash`

export PASSPHRASE=<Пароль для шифрования архива используемый при бэкапе>
export AWS_ACCESS_KEY_ID=<Идентификатор ключа полученный у Яндекса>
export AWS_SECRET_ACCESS_KEY=<Секретный ключ полученный у Яндекса>

# 3 примера, раскомментировать нужный

# Получить статус backup
#`which duplicity` collection-status s3://storage.yandexcloud.net/backup

# Восстановить index.php из корня сайта
#`which duplicity` --file-to-restore='home/bitrix/www/index.php' s3://storage.yandexcloud.net/backup /backup_restore/index.php

# Восстановить index.php из корня сайта 3х дневной давности
#`which duplicity` --time='3D' --file-to-restore='home/bitrix/www/index.php' s3://storage.yandexcloud.net/backup /backup_restore/index.php

unset PASSPHRASE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

3. Ruith an sgriobt agus feitheamh ris an toradh.

`which bash` /backup_scripts/backup.sh

Anns a 'phasgan /backup_restore/ gheibh thu am faidhle index.php a chaidh a ghabhail a-steach roimhe seo sa chùl-taic.

Faodaidh tu atharrachaidhean nas fheàrr a dhèanamh a rèir do fheumalachdan.

minus dùblachadh

Tha aon eas-bhuannachd aig dùblachadh - chan eil dòigh ann crìoch cleachdaidh seanail a shuidheachadh. Le sianal àbhaisteach, chan eil seo a’ cruthachadh duilgheadas, ach le sianal dìon DDoS le bileadh astar gach latha, bu mhath leam a bhith comasach air crìoch de 1-2 megabits a shuidheachadh.

Mar cho-dhùnadh

Le cùl-taic ann an Yandex.Cloud no Amazon S3 a’ toirt seachad leth-bhreac neo-eisimeileach den làrach agus de shuidheachaidhean OS a gheibhear thuige bho fhrithealaiche no coimpiutair ionadail sam bith eile. Aig an aon àm, chan eil an leth-bhreac seo ri fhaicinn an dàrna cuid anns a ’phannal smachd aoigheachd no ann am pannal rianachd Bitrix, a bheir seachad tèarainteachd a bharrachd.

Anns a 'bhuil as mì-fhortanach, faodaidh tu frithealaiche ùr a thogail agus an làrach a chleachdadh airson ceann-latha sam bith. Ged is e an gnìomh as motha a dh’ iarrar an comas faighinn chun fhaidhle airson ceann-latha sònraichte.

Faodaidh tu an dòigh seo a chleachdadh le frithealaichean VDS no Tiomnaichte agus làraich air einnseanan sam bith, chan e a-mhàin 1C-Bitrix. Faodaidh an OS a bhith cuideachd seach CentOS, leithid Ubuntu no Debian.

Source: www.habr.com

Cuir beachd ann