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

سویچ‌های کاربردی

  • استفاده از چند هسته: با استفاده از سویچ j- می‌توان در هنگام پشتیبان‌گیری (یا بازگردانی)، از تعداد بیشتری ریسه (thread) استفاده کرد. به صورت پیش‌فرض FSArchiver تنها از یک ریسه و هسته پردازنده استفاده می‌کنید. در صورتی که پردازنده‌ای چند هسته‌ای دارید می‌توانید با استفاده از j- سرعت بیشتری به انجام عملیات دهید.
  • درجه فشرده‌سازی: به وسیله سویچ Z- می‌توانید درجه فشرده‌سازی را از بین ۱ (فشرده‌سازی بسیار ضعیف اما سرعت بسیار بالا) تا ۲۲ (فشرده‌سازی بسیار قوی اما سرعت بسیار کند) تنظیم نمایید. توجه نمایید که استفاده از عداد بالای ۲۰ نیازمند حجم وسیعی از حافضه اصلی (RAM) است.
  • افزودن برچسب: سویچ l- این امکان را خواهد داد تا روی بایگانی موردنظر یک برچسب بگذارید. برچسب‌ها تنها یک یادداشت پیرامون بایگانی هستند.



یادداشت: برای مثال می‌توانید از برچسب برای یادداشت اطلاعاتی پیرامون وضعیت فایل‌سیستم قبل از عملیات پشتیبان‌گیری استفاده نمایید. برچسبی مانند: قبل از نصب اسنپ، یا قبل از به‌روزرسانی می‌توان به شما کمک کند در هنگام بازگردانی از نسخه صحیح آرشیو استفاده نمایید.


  • تقسیم آرشیو: به وسیله سویچ s- میتوان فایل را به بخش‌های n مگابایتی تقسیم کرد. در هنگام بازگردانی کافی است بخش اول را به عنوان ورودی دستور وارد نمایید.
  • رمزنگاری: سویچ c- به شما اجازه خواهد داد تا آرشیو تولید شده را رمزنگاری نمایید.


نکته: برای این کار بهتر است از روش زیر استفاده نمایید:
fsarchiver -c - /mnt/path/to/archive.fsa /dev/sda
در این حالت رمز مورد نظر از شما به وسیله یک ورودی دریافت خواهد شد.


اخطار: در صورتی که به شکل زیر از این سویچ استفاده نمایید، تمام کاربرانی موجود بر روی سیستم که پروسه‌ها را دنبال می‌کنند می‌توانن رمز آرشیو را ببینید:

fsarchiver -c password /mnt/path/to/archive.fsa /dev/sda

استخراج فایل پشتیبان (بازگردانی)

اخطار: تمامی دستورات زیر باید توسط کاربر تغییر داده شوند تا صدمه‌ای به سیستم وی وارد نکنند!

در صورتی که درباره افرازهای خود اطلاعاتی ندارید و نمی‌دانید دستورات زیر دقیقا کدام افراز را تغییر خواهند داد از اجرای آنها جدا خود داری کنید!


همانطور که گفته شده، 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)