من کلا میخوام یدونه snapshot بگیرم از وقتی که همه پیکربندی های سیستمم تموم شده و دیگه آماده استفادس ، که اگه یروزی مبادا رسید ، فقط برگردم به اون snapshot و دوباره نصب نکنم توزیعمو
البته میتونید خیلی بیشتر از یه snapshot ایجاد کنید. مثلا بعد از هر بروزرسانی یه snapshot ایجاد کنید تا اگه بروزرسانی مشکل داشت، به حالت قبل برگردید.
یا وقتی که میخواهید یه چیزی رو نصب کنید یا تغییر بدید ولی مطمئن نیستید که مشکل ایجاد میکنه یا نه.
پس یعنی دقیقا برمیگردونتت به دقیقا همون وضعیت دیگه ؟
از نظر اطلاعات بله دقیقا بر میگرده به حالت قبل. ولی property هایی که روی dataset تغییر کرده نه.
پیکربندی pool هم به حالت قبل بر نمیگرده. مثلا اگه یه دستگاه ذخیرهسازی جدید به pool اضافه کنید، برگردوندن snapshot باعث نمیشه اون دستگاه از pool حذف بشه.
اگه اون dataset رو پاک کنید، snapahot های اون هم همراهش پاک میشه.
اگه میخواهید یه جور snapshot از کل pool داشته باشید، میتونید یه checkpoint از pool ایجاد کنید.
checkpoint تا حدودی شبیه snapshot هست ولی با اون فرق داره.
از یه pool فقط میشه یه checkpoint ایجاد کرد و تا وقتی که موجوده، نمیشه checkpoint جدیدی ساخت. هر زمانی که اون checkpoint رو پاک کنید، میتونید یه جدید بسازید.
وقتی به یه checkpoint بر میگردید، همه چیز توی pool به حالتی بر میگرده که checkpoint رو ایجاد کردید.
با بازگشت به یه checkpoint، اون checkpoint پاک میشه.
وقتی یه checkpoint ایجاد شده، نمیتونید پیکربندی pool رو تغییر بدید. مثلا به pool دستگاه اضافه کنید یا بردارید.
حالا الان که قراره بریم btrfs ولی یعنی نمیشه دو تا pool ایجاد کرد یکی فقط boot و بدون اون آپشن ها ، و یکی شامل دیتاست root و همون افراز فایلام ؟
چرا میشه. ولی مدیریتش ممکنه سخت باشه. مخصوصا اگه بخواهید از snapshot ها استفاده کنید. در اینصورت باید مطمئن بشید که /boot/ با بقیه سیستم هماهنگ هست.
کل اون هارد gpt بدون افراز رو فرمت کنم با btrfs ؟ دستورش چیه ؟
با mkfs.btrfs میشه. با mkfs -t btrfs هم ممکن هست.
چیکار کنم واسه باقی مراحل ؟
اصلا تا الان چیکار کردید؟ حداقل خروجی lsblk و blkid رو قرار بدید که بشه فهمید وضعیت سیستم چجوریه.
جناب دراگون راهی هست که همه مراحل و همه کار ها رو با خود نصاب قدیمی دبیان انجام بدیم ؟
با حالت expert اون میشه.
تا جایی که میدونم، نصاب قدیمی قابلیتی نداره تا موقع پارتیشنبندی، subvolume بسازید. خودش یه subvolume میسازه. باید از طریق پوسته اقدام کنید.
umount /target
mount /dev/sda1 /mnt
btrfs subvolume create /mnt/@File
mount -o rw,noatime,nossd,compress=zstd:7,nodatacow,space_cache=v2,subvol=@rootfs /dev/sda1 /target
mkdir /target/File
mount -o rw,noatime,mode=700,nossd,compress=zstd:7,nodatacow,space_cache=v2,subvol=@File /dev/sda1 /target/File
nano /target/etc/fstab
exit
و ادامه ..
وقتی fstab رو هم باز کردم اینا رو مینویسم توش :
UUID=<uuid> / btrfs rw,noatime,nossd,compress=zstd:7,nodatacow,space_cache=v2,subvol=@rootfs
UUID=<uuid> /File btrfs rw,noatime,mode=700,nossd,compress=zstd:7,nodatacow,space_cache=v2,subvol=@File
tmpfs /tmp tmpfs rw,mode=1777,nosuid,nodev,size=50m,defaults
tmpfs /var/tmp tmpfs rw,mode=1777,nosuid,nodev,size=50m,defaults
آپشن nodatacow برای btrfs باعث میشه cow خاموش بشه. وقتی cow توی btrfs غیرفعال هست، فشردهسازی هم انجام نمیشه.
اونجور که فهمیدم balance و scrub برای کسایی که چنتا دیسک دارن درسته ؟
نه.
scrub یه جورایی نسخه پیشرفتهتر fsck هست.
balance هم ممکنه در بقیه شرایط استفاده بشه.
توی btrfs وقتی یه سری اطلاعات با فشردهسازی نوشته میشن و یعد فشردهسازی رو عوض میکنید، فشردهسازی اطلاعات قبلی به طور خودکار عوض نمیشه. یه balance لازم داره تا درست بشه.
مثلا وقتی که اطلاعات قبلی با lzo فشرده شدند و الان فشردهسازی رو به zlib تغییر دادید، اگه balance رو اجرا کنید، اطلاعات قبلی با zlib فشرده میشن.
فکر کنم برای وقتی که وضعیت cow رو هم تغییر میدید به کار بیاد.
و اینکه میخواستم بدونم Deduplication داخلی سطح فایل پایدار نداره btrfs ؟
نظرتون در مورد این ابزار چیه ؟ )
در مورد هر دو چیزی نمیدونم.
عجیبه ! من که سیستمم amd64 عه !
Installing for i386-pc platform.
grub-install: error: failed to get canonical path of `overlay'.
این نتیجه دستور دومت روی debian live standard عه !
درسته. برای سیستمهای legacy اینجوری هست.ویرایش:
دفعه اول دقیق ندیدم چی نوشته. الان که دیدم مشخصه یه جاییش مشکل داره.
بجای grub-install /dev/sda دستور زیر رو وارد کن
grub-install --target=x86_64-efi /dev/sda
این برای سیستمهایی جواب میده که توی حالت uefi بوت میشن. اصلا وقتی گراب رو برای حالت uefi نصب میکنید، مسیر دیسکی که میدید نادیده گرفته میشه. به جاش باید مسیر به جایی که ESP سوار شده هست رو بدید.