GNU/Linux >> Belajar Linux >  >> Linux

ReaR:Cadangkan dan pulihkan server Linux Anda dengan percaya diri

Mencadangkan dan memulihkan server Linux adalah aktivitas umum bagi administrator sistem sepanjang karier mereka. Sementara banyak utilitas ad-hoc membantu sysadmin mengelola pencadangan, artikel ini berfokus pada ReaR - Santai dan Pulihkan alat. Ya, Anda membacanya dengan benar—alat untuk membantu Anda mendapatkan ketenangan pikiran (santai) saat melakukan operasi pencadangan dan pemulihan biasa.

ReaR adalah alat administrasi sumber terbuka untuk membuat arsip pemulihan bencana dan gambar ISO yang dapat di-boot dari server Linux. Dengan mengintegrasikan dengan solusi pencadangan yang ada, ReaR juga dapat digunakan sebagai utilitas pencadangan dan pemulihan.

Cara kerjanya

ReaR membuat gambar yang dapat di-boot yang terdiri dari status server terbaru yang akan dicadangkan. Ini juga memberi administrator sistem fleksibilitas untuk memilih file untuk cadangan. Sangat disarankan untuk menjalankan ReaR secara proaktif sesuai jadwal pencadangan yang ada sehingga Anda memiliki status server yang terbaru.

Meskipun sudah banyak dokumentasi yang tersedia di Internet, artikel ini membahas fungsionalitas ReaR dengan screenshot pendukung.

Sepanjang posting ini, saya merujuk ke server yang akan dicadangkan sebagai produksi dan server NFS eksternal sebagai penyimpanan .

Produksi dan penyimpanan masing-masing server memiliki Red Hat Enterprise Linux 8.2 (RHEL). Sesuaikan instruksi agar sesuai dengan versi sistem operasi Anda. Misalnya, ganti dnf dengan yum untuk sistem berbasis Red Hat yang lebih lama.

Konfigurasikan server tujuan sebagai target cadangan

ReaR mendukung NFS, CIFS (Samba), USB, rsync, dan tujuan lokal sebagai target cadangan. Dalam artikel ini, server penyimpanan dikonfigurasi sebagai server NFS untuk digunakan sebagai target cadangan untuk utilitas ReaR yang digunakan pada produksi server.

[root@storage ~]# hostname
storage.mj0vy.org

[root@storage ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

[root@storage ~]# cat /etc/exports.d/rear.exports
/backups   192.168.122.0/24(rw,no_root_squash)

[root@storage ~]# exportfs -s
/backups  192.168.122.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

[root@storage ~]# ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:d4:04:e4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.44/24 brd 192.168.122.255 scope global dynamic noprefixroute eth0
       valid_lft 3123sec preferred_lft 3123sec
    inet6 fe80::5054:ff:fed4:4e4/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Terapkan ReaR di server yang akan dicadangkan

Di produksi server, instal rear , genisoimage , dan syslinux paket. Di RHEL, paket-paket ini adalah bagian dari repositori dasar.

[root@production ~]# hostname
production.mj0vy.org

[root@production ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

[root@production ~]# dnf install rear genisoimage syslinux

[root@production ~]# ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:5f:f2:e0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.19/24 brd 192.168.122.255 scope global dynamic noprefixroute eth0
       valid_lft 2129sec preferred_lft 2129sec
    inet6 fe80::5054:ff:fe5f:f2e0/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Konfigurasikan ReaR di server yang akan dicadangkan

Edit /etc/rear/local.conf file dengan konfigurasi berikut:

OUTPUT
Define the bootable image type among USB, ISO, RAWDISK

OUTPUT_URL
Backup Target among NFS, CIFS, FILE, FTP, HTTP, RSYNC

BACKUP
Which backup method to use: External third-party or internal ReaR mechanism?

BACKUP_URL
Backup target location when using the internal backup method.

BACKUP_PROG_EXCLUDE
Directories to be excluded while performing the backup. Examples are /media and /var/tmp
[root@production ~]# cat /etc/rear/local.conf
OUTPUT=ISO
OUTPUT_URL=nfs://192.168.122.44/exports
BACKUP=NETFS
BACKUP_URL=nfs://192.168.122.44/exports
BACKUP_PROG_EXCLUDE=("${BACKUP_PROG_EXCLUDE[@]}" '/media' '/var/tmp' '/var/crash')

Jalankan ReaR di server yang akan di-backup

ReaR menerima opsi berbeda berdasarkan apakah Anda perlu membuat media penyelamat dan/atau mencadangkan sistem sebagai tar berkas.

rear mkbackup - create the rescue media and backup the system.
rear mkbackuponly - create only the backup tar file.
rear mkrescue - create only the rescue media.

Cadangkan produksi server dengan media penyelamat ISO

[root@production ~]# rear -v -d mkbackup
Relax-and-Recover 2.4 / Git
Using log file: /var/log/rear/rear-production.log
Using backup archive '/tmp/rear.gGxFXV4S0pcfEmD/outputfs/production/backup.tar.gz'
Creating disk layout
Using guessed bootloader 'GRUB' (found in first bytes on /dev/vda)
Creating root filesystem layout
Adding net.ifnames=0 to KERNEL_CMDLINE
Handling network interface 'eth0'
eth0 is a physical device
Handled network interface 'eth0'
To log into the recovery system via ssh set up /root/.ssh/authorized_keys or specify SSH_ROOT_PASSWORD
Copying logfile /var/log/rear/rear-production.log into initramfs as '/tmp/rear-production-partial-2020-07-30T02:40:30+05:30.log'
Copying files and directories

Setelah beberapa menit, file yang disimpan di direktori lokal disalin melalui jaringan ke lokasi target NFS jarak jauh.

Copying files and directories
Copying binaries and libraries
Copying kernel modules
Copying all files in /lib*/firmware/
Creating recovery/rescue system initramfs/initrd initrd.cgz with gzip default compression
Created initrd.cgz with gzip default compression (200298197 bytes) in 20 seconds
Making ISO image
Wrote ISO image: /var/lib/rear/output/rear-production.iso (202M)
Copying resulting files to nfs location
Saving /var/log/rear/rear-production.log as rear-production.log to nfs location
Creating tar archive '/tmp/rear.gGxFXV4S0pcfEmD/outputfs/production/backup.tar.gz'
Archived 1037 MiB [avg 11304 KiB/sec]

Periksa penyimpanan server saat ReaR berjalan di produksi server

[root@storage ~]# ls -lh /backups/production/
total 1.4G
-rw-------. 1 root root 3.3M Jul 30 02:42 backup.log
-rw-------. 1 root root 1.2G Jul 30 02:42 backup.tar.gz
-rw-------. 1 root root  202 Jul 30 02:41 README
-rw-------. 1 root root 202M Jul 30 02:41 rear-production.iso
-rw-------. 1 root root 712K Jul 30 02:41 rear-production.log
-rw-------. 1 root root    0 Jul 30 02:42 selinux.autorelabel
-rw-------. 1 root root  277 Jul 30 02:41 VERSION

Nama host server yang akan dicadangkan diberi akhiran dalam file ISO yang dibuat di lokasi target jarak jauh.

  • rear-production.iso - Gambar ISO yang dapat di-boot, digunakan selama pemulihan
  • backup.tar.gz - File TAR yang berisi file dari produksi server

Perintah ReaR diakhiri dengan saran untuk menghapus direktori yang dibuat selama mkbackup operasi.

Exiting rear mkbackup (PID 21370) and its descendant processes
Running exit tasks
You should also rm -Rf /tmp/rear.QeZDyfY54KuYq65

Pulihkan server menggunakan image ISO bootable yang dibuat oleh ReaR

Produksi server dipulihkan menggunakan rear-production.iso gambar. Boot komputer dengan CD-ROM sebagai perangkat boot pertama dan pilih "Pulihkan produksi" atau "Pemulihan otomatis produksi."

Memilih "Produksi Pemulihan Otomatis" akan mengotomatiskan proses pemulihan, dengan asumsi tidak ada kesalahan.

Artikel ini berfokus pada opsi "Pulihkan " untuk memulihkan produksi . secara manual server.

Sistem melakukan boot ke spanduk ReaR yang merinci jenis pencadangan dan keluaran Anda.

Masuk sebagai pengguna root tanpa dimintai kata sandi.

Seperti yang disarankan oleh spanduk masuk, jalankan rear recover untuk memulihkan sistem dengan menghubungkan ke penyimpanan server. Dari sana, ambil backup.tar.gz dan mengembalikannya ke tujuan yang benar dengan izin yang sesuai.

RESCUE production: ~ # rear -v -d recover

Memeriksa /var/log/rear/rear-production.log memberi Anda detail tentang cara kerja restorasi. Informasi yang relevan dari file log dirujuk di bawah ini:

2020-07-31 06:58:38.091131490 Started RPC portmapper 'rpcbind'.
2020-07-31 06:58:38.102814819 RPC portmapper 'rpcbind' available.
2020-07-31 06:58:38.124144303 Started rpc.statd.
2020-07-31 06:58:38.635988990 Mounting with 'mount -v -t nfs -o rw,noatime 192.168.122.44:/backups /tmp/rear.2b0Q3MJJ2gwdEvq/outputfs'
mount.nfs: timeout set for Fri Jul 31 07:00:38 2020
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.122.44,clientaddr=192.168.122.19'
2020-07-31 06:58:38.701408122 Using backup archive '/tmp/rear.2b0Q3MJJ2gwdEvq/outputfs/production/backup.tar.gz'

Boot server dari hard disk setelah operasi pemulihan

Server sekarang dapat di-boot ulang. Pilih hard disk sebagai perangkat boot. Selama proses pemulihan, server terhubung ke NFS share dan kemudian mentransfer backup.tar.gz file ke direktori lokal Anda. Konfirmasikan hal ini dengan memeriksa /var/log/rear/recover/restore/recover.backup.tar.gz.587.restore.log file ketika operasi pemulihan selesai.

2020-07-31 06:59:10.851011181 dd if=/tmp/rear.2b0Q3MJJ2gwdEvq/outputfs/production/backup.tar.gz | cat | tar --block-number --totals --verbose --anchored --xattrs --xattrs-include=security.capability --xattrs-include=security.selinux --acls --gzip -C /mnt/local/ -x -f -

Selanjutnya dilakukan relabeling SELinux. Waktu pemulihan bervariasi tergantung pada ukuran backup.tar.gz berkas.

Akhirnya, server melakukan booting ke layar login.

Masuk dengan kredensial yang sama dan verifikasi bahwa status server telah dipulihkan.

Itu bungkusnya

ReaR adalah bagian integral dari banyak solusi pencadangan berbasis Linux. OpenStack dan Red Hat OpenStack Platform menggunakan ReaR untuk pencadangan dan pemulihan undercloud dan control plane. Tonton artikel mendatang di ruang ini yang membahas opsi patching dan rollback untuk aplikasi dan sistem operasi.

Untuk informasi selengkapnya tentang menggunakan ReaR di lingkungan produksi Red Hat Enterprise Linux, pastikan untuk membaca solusi ini di Portal Pelanggan Red Hat.

[ Kursus online gratis:Tinjauan teknis Red Hat Enterprise Linux. ]


Linux
  1. Kelola sistem cadangan baterai APC Anda dengan perintah Linux ini

  2. Cara Mengatur Zona Waktu dan Menyinkronkan Waktu Server dengan NTP di Linux

  3. Pulihkan sistem Anda dengan mode pengguna tunggal di Linux Mint / Linux Mint 12

  1. Lihat koneksi jaringan server Linux Anda dengan netstat

  2. Buat penyimpanan cloud Anda dengan ownCloud 6 di Linux Mint 17

  3. Cara Menginstal Nextcloud dengan Docker di Server Linux Anda

  1. Pantau Java Anda di Linux dengan jconsole

  2. Pantau Server Linux Dengan Prometheus dan Grafana

  3. Amankan Server Linux Anda Dengan Fail2Ban [Panduan Pemula]