FSArchiver
محتویات
معرفی ابتدایی
FSArchiver یک ابزار سیستمی است که به کاربر اجازه میدهد تا محتویات یک فایلسیستم رو به شکل یک آرشیو فشرده ذخیره کند. آرشیو ایجاد شده را میتوان بر روی یک پارتیشن با اندازه یا فایلسیستم متفاوت بازگردانی کرد. بر خلاف ابزارهایی همچون tar و dar، ابزار FSArchiver در هنگام بازگردانی، فایلسیستم را هم ایجاد خواهد کرد. برای محافظت از دادهها، تمامی آنها به وسیله الگوریتمهای سرجمع (checksum)، مورد بررسی قرار میگیرند. اگر صدمهای به فایل آرشیو وارد شده باشد، تنها فایل مذکور را از دست خواهید داد و سایر فایلهای موجود در آرشیو حفظ خواهند گشت.
FSArchiver با لایسنس GPL-v2 عرضه شده است.
توضیحات بیشتر
هدف پروژه ایجاد یک راهحل انعطافپذیر برای تهیه پشتیبان از فایلسیستم میباشد. راهحلهای متنباز دیگری همچون partmage موجود است. این ابزارها در سطح بلاکهای فایلسیستم کار میکنند. از این رو بازگردانی پشتیبان تهیه شده بر روی یک افراز کوچکتر امکانپذیر نمیباشد. همچنین بازگردانی بر روی افرازی بزرگتر نیازمند تغییر دستی فایلسیستم است.
FSArchiver این قابلیت را دارد تا در صورت وجود فضای کافی، پشتیبان تهیه شده را بر روی یک افراز کوچکتر بازگردانی نماید. همینطور از این ويژگی برخوردار است که دادهها را بر روی یک فایلسیستم متفاوت بازگردانی کند. از این رو میتوانید از FSArchiver برای زمانی که قصد دارید نوع فایلسیستم یک افراز را تغییر دهید استفاده نمایید. برای مثال میتوانید از یک افراز reiserfs پشتیبان تهیه کرده و آن را به تحت فایلسیستم xfs بازگردانی کنید.
FSArchiver در سطح فایل کار میکند. این قابلیت را دارد که از روی فایلسیستمهای (ext4, ext3, xfs, btrfs, reiserfs, ntfs و...) که هسته قابلیت سوار کردن آنها به شکل خواندنی/نشوتی را داشته پشتیبان تهیه کنید. FSArchiver تمامی صفتهای استاندارد فایلها همچون سطوح دسترسی، زمان، پیوند، پیوندهای نمادین، صفتهای-اضافی و... را تا زمانی که پشتیبانی از آنها در کرنل فعال شده باشد را حفظ خواهد کرد. همچنین قادر است با استفاده از snapshotهای LVM پشتیبانی یکپارچه از تمامی فایلسیستمها از جمله ریشه تهیه کنید.
بسته FSArchiver توسط مخازن رسمی اکثر توزیعها (Fedora, Debian, Ubuntu, OpenSUSE, ArchLinux, Gentoo) در دسترس میباشد. همچنیین دیسک زنده SystemRescueCd حاوی FSArchiver به همراه تمامی وابستگیهای مورد نیاز (کتابخانهها و ابزار لازم) بوده و قادر به بازگردانی فایل پشتیبان در هنگام بروز یک مشکل برای سیستم است.
محدودیتها
FSArchiver با برخی محدودیتها همراه است. برای مثال در حال حاضر، قادر به حفظ برخی ویژگیهای مختص فایلسیستمی همچون btrfs نمیباشد و صرفا از فایلها پشتیبان خواهد گرفت.
استفاده از FSArchiver برای گرفتن پشتیبان از افرازهایی که به صورت فقط خواندنی سوار فایلسیستم شده اند بیخطر است. FSArchiver به شما این اجازه را میدهد تا با یک سویچ عمل گرفتن پشتیبان از افرازهایی که به شکل خواندنی/نوشتی سوار شدهاند را صورت دهید. با این حال ممکن است پشتیبان شما دچار عدم یکپارچگی شود. در صورتی که از افرازی که قصد دارید پشتیبان تهیه نمایید در حال استفاده هستید، بهتر است از ویژگی LVM ،snapshot استفاده نمایید. البته تنها در صورتی قادر هستید این کار را انجام دهید که افراز مورد نظر یک logical volume باشد.
بارگیری
روشهای بارگیری و نصب
برای استفاده از FSArchiver روشهای گوناگونی وجود دارد. میتوانید از یک دیسک زنده حاوی برنامه همچون SystemRescueCd استفاده کنید یا اینکه آن را بر روی یک سیستم نصب نمایید. برای نصب سه راه پیش روی شماست.
- استفاده از بسته FSArchiver موجود در مخازن توزیع مورد استفاده (روش پیشنهادی).
- دریافت فایل باینری رسمی.
- کامپایل از کد منبع.
دریافت باینری و کد منبع
برای دریافت آخرین نسخه باینری رسمی پروژه و یا کد منبع میتوانید به بخش انتشارهای گیتهاب پروژه به آدرس زیر مراجعه کنید:
https://github.com/fdupoux/fsarchiver/releases
نام فایل | نوع فایل |
---|---|
fsarchiver-0.x.z.tar.gz | فایل باینری - نیازمند وجود کتابخانههای مورد نیاز |
fsarchiver-static-0.x.z.x86_64.tar.gz | فایل باینری - کتابخانههای مورد نیاز درون سازی شدهاند |
- اگر اطمینان ندارید کدام گزینه از باینریها مورد نیاز شماست، گزینه دوم را انتخاب نمایید.
فایل باینری دانلود شده را پس از استخراج میتوانید در شاخه زیر قرار دهید:
/usr/local/bin/
برای نصب به وسیله مدیر بسته و مخازن رسمی (روش پیشنهادی) به بخش بعد مراجعه نمایید.
نصب
FSArchiver در مخازن رسمی موجود است. با دستور زیر میتوان آن را در دبیان و توزیعهای زیرشاخه از جمله اوبونتو نصب کرد.
$ sudo apt install fsarchiver
راهنمای استفاده
در این بخش به توضیح ابتدایی روش استفاده از FSArchiver خواهیم پرداخت. فرض کنید ریشه سیستم شما روی افراز dev/sda1/ نصب شده است. قصد داریم فایلهای پشتیبان ایجاد شده را بر روی دیسکی که روی شاخه mnt/backup/ سوار شده است ذخیره نماییم.
پشتیبان گیری
برای گرفتن پشتیبان از فایلسیستم ریشه (افراز dev/sda1/) و ذخیره آن در آدرس mnt/backup/ubuntu-rootfs.fsa/، از دستور زیر استفاده میکنیم:
# fsarchiver savefs /mnt/backup/ubuntu-rootfs.fsa /dev/sda1
فرض کنید افراز dev/sda2/ حاوی بارکنندهٔ راهاندازی سیستم است. برای پشتیبان گرفتن از این افراز:
# fsarchiver savefs /mnt/backup/ubuntu-bootfs.fsa /dev/sda2
همچنین میتوان تعداد بیشتر از یک فایلسیستم را در یک آرشیو ذخیره کرد. در مثال زیر افرازهای root و boot هر دو در ubuntu.fsa ذخیره خواهند شد.
# fsarchiver savefs /mnt/backup/ubuntu.fsa /dev/sda1 /dev/sda2
استخراج فایل پشتیبان (بازگردانی)
توجه
خطر از بین رفتن دیسک و تمامی اطلاعات
در صورتی که درباره افرازهای خود اطلاعاتی ندارید و نمیدانید دستورات زیر دقیقا کدام افراز را تغییر خواهند داد از اجرای آنها جدا خود داری کنید تمامی دستورات زیر باید توسط کاربر تغییر داده شوند تا صدمهای به سیستم وی وارد نکنند
همانطور که گفته شده، FSArchiver از این توانایی را دارد تعدادی بیش از یک فایلسیستم را در یک فایل آرشیو ذخیره کند. از این رو در هنگام بازگردانی و استخراج فایل آرشیو باید شماره فایلسیستم مورد نظر را مشخص کرد. شماره فایلسیستمها از صفر شروع میشود. کاربر میتواند به وسیله یک دستور یک یا چند فایلسیستم را به شکل همزمان استخراج نماید.
بازگردانی از یک آرشیو که تنها حاوی یک فایلسیستم است:
# fsarchiver restfs /mnt/backup/ubuntu-rootfs.fsa id=0,dest=/dev/zda1
برای استخراج دومین فایلسیستم از یک آرشیو حاوی چند فایلسیستم:
# fsarchiver restfs /mnt/backup/archive-multple-filesystems.fsa id=1,dest=/dev/zdb1
برای استخراج دو فایلسیستم به شکل همزمان:
# fsarchiver restfs /mnt/backup/archive-multple-filesystems.fsa id=0,dest=/dev/zda1 id=1,dest=/dev/zdb1
تغییر نوع فایلسیستم هنگام استخراج
برای تغییر نوع فایلسیستم استخراج شده از آرشیو میتوان از گزینه mkfs استفاده کرد. دستور زیر افراز dev/zda1/ را با فایلسیستم reiserfs قالببندی و سپس فایلها را استخراج خواهد کرد.
fsarchiver restfs /mnt/backup/ubuntu-rootfs.fsa id=0,dest=/dev/zda1,mkfs=reiserfs
مشاهده اطلاعات فایل پشتیبان
برای مشاهده اطلاعات پیرامون فایل آرشیو میتوان از زیر دستور archinfo استفاده کرد. در مثال زیر، فایل آرشیو sysimg.fs حاوی ۲ فایلسیستم است. این زیر دستور مشخصات هر فایلسیستم از جمله: شماره فایلسیستم در آرشیو، نوع، UUID، لیبل، اندازه، آدرس اصلی و... را نمایش خواهد داد.
# fsarchiver archinfo /backup/sysimg.fsa ====================== archive information ====================== Archive type: filesystems Filesystems count: 2 Archive id: 4b610c6e Archive file format: FsArCh_002 Archive created with: 0.6.6 Archive creation date: 20100131-07:16:35 Archive label: debian-backup Compression level: 7 (lzma level 1) Encryption algorithm: none ===================== filesystem information ==================== Filesystem id in archive: 0 Filesystem format: ext3 Filesystem label: boot Filesystem uuid: d76278bf-5e65-4568-a899-9558ce61bf06 Original device: /dev/sda1 Original filesystem size: 961.18 MB (1007869952 bytes) Space used in filesystem: 356.86 MB (374190080 bytes) ===================== filesystem information ==================== Filesystem id in archive: 1 Filesystem format: ext3 Filesystem label: debian Filesystem uuid: 4b0da78f-7f02-4487-a1e2-774c9b412277 Original device: /dev/vgmain/snapdeb Original filesystem size: 11.81 GB (12682706944 bytes) Space used in filesystem: 7.11 GB (7635599360 bytes)