Та бүхний мэдэж байгаагаар хэрэв асуудал гарч болох юм бол энэ нь гарцаагүй болно. Сүүлийн үеийн чухал файлыг санамсаргүйгээр устгасан, эсвэл текст засварлагч дээр санамсаргүйгээр сонгогдсон, устгасан тохиолдол хүн бүрт тохиолдож байсан байх.
Хэрэв та хост эсвэл вэбсайт эзэмшигч бол хэрэглэгчийн бүртгэл эсвэл вэбсайтаа хакердсан байх магадлалтай. Ийм тохиолдолд он цагийн дарааллыг сэргээх, нэвтрэх арга, халдагчийн ашигласан эмзэг байдлыг олох нь чухал юм.
NILFS2 файлын систем нь ийм асуудлыг шийдвэрлэхэд төгс төгөлдөр юм.
Энэ нь Линуксийн цөмд 2.6.30 хувилбараас хойш байгаа.
Энэ файлын системийн онцлог нь энэ нь хувилбарын хяналтын системтэй төстэй юм: та системийн төлөвийг хэзээ ч буцааж, хэсэг хугацааны өмнө ямар байсныг харах боломжтой.
Энэ функцийг хангахын тулд та Cron скриптийг тохируулах, агшин зуурын зураг авах гэх мэт шаардлагагүй. NILFS2 файлын систем үүнийг өөрөө хийдэг. Энэ нь хуучин өгөгдлийг хэзээ ч дарж бичихгүй бөгөөд хэрэв дискний хангалттай зай байгаа бол дискний шинэ хэсгүүдэд байнга бичдэг. Хуулбарлах, бичих зарчимд бүрэн нийцсэн.
Үнэн хэрэгтээ файлд хийсэн аливаа өөрчлөлт нь автоматаар файлын системийн шинэ хормын хувилбарыг үүсгэдэг тул та энэ FS-ийг цагийн машин болгон ашиглаж, файлын төлөвийг эргүүлж болно.
түүх
NILFS2-ийн гүнд боловсруулагдсан
Үүнийг яг юунд зориулж бүтээсэн нь тодорхойгүй байгаа ч "цаг хугацааны машин"-ын функцтэй ийм FS нь тагнуулын албаныхан ухаж авахыг хүссэн өгөгдлийг хадгалахад тохиромжтой гэж таамаглаж болно. SMS, имэйл гэх мэт ...
NILFS2 нь дотоод аюулгүй байдлын үйлчилгээнд маш үнэ цэнэтэй хэрэгсэл байж болох бөгөөд энэ нь шуудангийн мэдээллийн санд байгаа устгасан бүх захидлуудыг сэргээх боломжийг олгодог бөгөөд ажилчдын дараа нь файлуудыг устгах эсвэл өөрчлөх замаар тэдгээрийг нуун дарагдуулахыг оролддог.
Та захидал харилцааныхаа түүхийг бүхэлд нь хэрхэн хянах вэ?Линукс серверүүд дээр (мөн дотоод аюулгүй байдлын үүднээс NILFS2-г суулгах ёстой) имэйлийг хадгалах файлын аргыг ихэвчлэн имэйлийн мессежийг хадгалахад ашигладаг. Формат гэж нэрлэгддэг
Хэрэв шуудангийн сервер нь мэдээллийн санг ашигладаг бол NILFS2 нь мэдээллийн баазын өөрчлөлтийн яг цаг хугацааг сэргээх, эдгээр мөчүүдийн аль нэгэнд мэдээллийн санг сэргээх боломжийг олгоно. Дараа нь та тухайн үед юу байсныг харахын тулд мэдээллийн сангийн хэрэгслийг ашиглах хэрэгтэй ...
Гэсэн хэдий ч ямар нэг зүйл буруу болсон. Японы засгийн газар хүн бүрийг хянах бодлоо өөрчилсөн (Яровая зарчим), эсвэл уламжлалт HDD дээр NILFS2-ийн гүйцэтгэл доогуур байсан бөгөөд NILFS2 нь GPL лицензийн дагуу гарсан бөгөөд Линуксийн цөмд маш хурдан нэвтэрсэн. Өндөр мэргэшсэн япон хэлээр бичсэн кодын талаар ямар нэгэн гомдол гараагүй бөгөөд Линукс цөмийн хөгжүүлэгчид энэ нь байдаггүй.
NILFS2 ямархуу байдаг вэ?
Ашиглалтын үүднээс: хувилбарын хяналтын систем дээр
Програмистын үүднээс: дугуй буфер. Файлын систем нь өөрчлөлтийг хуримтлуулж, ойролцоогоор 8 МБ хэмжээтэй (2000 * 4096, 2000 нь блок дахь элементийн тоо, 4096 нь санах ойн хуудасны хэмжээ) хэмжээтэй тэнцүү хэсэг болгон бичдэг. Бүхэл бүтэн диск нь ийм хэсгүүдэд хуваагдана. Бичлэг нь дарааллаар явагдана. Сул зай дуусвал хамгийн эртний агшин зуурын зургууд устгагдаж, хэсгүүдийг дарж бичнэ.
Үндсэн NILFS2 амттан
- Хувилбар!!!
- Алдаа гарсны дараа файлын системийг сэргээх журам нь маш энгийн: ачаалах үед зөв шалгах нийлбэртэй сүүлчийн хэсгийг хайж, түүн дээр суперблок суулгадаг. Энэ бол бараг л шуурхай ажиллагаа юм.
- Бичлэг үргэлж шугаман байдлаар явагддаг тул:
- удаан санамсаргүй бичих чадвартай SSD дээр ажиллах үед сайн үр дүнг харуулж чадна.
- NILFS2 нь SSD нөөцийг хэмнэдэг, учир нь бичих үржүүлэх хүчин зүйл бараг байдаггүй.
Илүү нарийвчлалтай, энэ нь 2-оос ихгүй байна.Баримт нь бүхэл дискийг мөчлөгөөр дахин бичих үед NILFS2 нь өөрчлөгдөөгүй өгөгдлийг шинэ хэсгүүдэд (хэсэг) шилжүүлэх болно.Хэрэв бид дискэн дээр өөрчлөгдөөгүй өгөгдлийн 10% байгаа бол 10 бүрэн дахин бичихэд бид 1% бичих өсөлтийг авах болно. За, дискийг 50 удаа бүрэн дахин бичихэд төхөөрөмжийн бүрэн бүтэн байдал 50% -иар 1% нэмэгдэнэ.
Хамгийн их бичих ашиг нь 2. Бүх зүйл дэс дарааллаар бичигдсэн байдаг тул энэ нь маш бага юм. Ерөнхийдөө бичих хөдөлгөөнт дүрс нь 4096 байт сектор бүхий ердийн хуваагдмал файлын системийнхээс бага байх болно. (Урам зориг авсан бодол
сэтгэгдэл ).
- Алсын NILFS2 FS руу хуулбарлах үйлдлийг хэрэгжүүлэх боломжит хялбар байдал
NILFS2 for /home
Unix-тэй төстэй үйлдлийн системүүдэд хэрэглэгчийн мэдээлэл хадгалагддаг /home хавтас байдаг. Төрөл бүрийн програмууд энэ хавтсанд хэрэглэгчийн тусгай тохиргоогоо хадгалдаг.
Хэрэглэгчид биш бол хэн ихэвчлэн алдаа гаргадаг вэ? Тиймээс, тэдний хэлснээр, Бурхан өөрөө NILFS2-г /гэртээ ашиглахыг тушаажээ.
Түүнчлэн, SSD-ийг өргөнөөр ашигласнаар бид CoW файлын системийг ашиглахдаа ноцтой хомсдолд орох талаар санаа зовох шаардлагагүй болсон.
Тийм ээ, бид ZFS болон BTRFS-д FS агшин зуурын агшингуудыг хүссэн үедээ үүсгэж болох боловч файлын өөрчлөлт нь хормын хувилбаруудын хооронд дуусах эрсдэл үргэлж байдаг. Мөн зургуудыг удирдах шаардлагатай хэвээр байна: хуучин зургуудыг устгах хэрэгтэй. NILFS2-д энэ бүхэн автоматаар, хэдхэн секунд тутамд болдог.
Би lvcreate (nvme эзлэхүүний бүлэгт, нимгэн бассейн нимгэн) ашиглан логик эзлэхүүнийг үүсгэсэн. Дараа нь хялбархан өргөжүүлж болох тул би үүнийг lvm эзлэхүүн дээр үүсгэхийг зөвлөж байна. Би NILFS50-тэй дискний 2% сул зайтай байхыг зөвлөж байна.
lvcreate -V10G -T nvme/thin -n home
мөн үүнийг NILFS2-д форматласан:
mkfs.nilfs2 -L nvme_home /dev/nvme/home
mkfs.nilfs2 (nilfs-utils 2.1.5)
Start writing file system initial data to the device
Blocksize:4096 Device:/dev/nvme/home1 Device Size:10737418240
File system initialization succeeded !!
Үүний дараа та одоогийн /гэрээс бүх өгөгдлийг хуулах хэрэгтэй.
Би үүнийг компьютераа ачаалсны дараа, үндсэн хэрэглэгчийн хувьд бүртгэл рүүгээ орохын өмнө хийсэн. Хэрэв би өөрийн хэрэглэгчээр нэвтэрсэн бол зарим програмууд миний хэрэглэгчийн /home/user хавтас дахь залгуурууд болон файлуудыг нээх бөгөөд энэ нь цэвэр хуулбарлахад хүндрэл учруулах болно. Та бүхний мэдэж байгаагаар үндсэн хэрэглэгчийн үндсэн фолдер нь ихэвчлэн /root зам дээр байрладаг тул /home хуваалт дээр ямар ч файл нээгдэхгүй.
mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome
Сүүлийн мөрийг үзнэ үү
Дараа нь бид /home-д зориулсан файлын системийг суулгасан /etc/fstab-г засварлана
/dev/disk/by-label/nvme_home /home nilfs2 noatime 0 0
Сонголт noatime
файлын хандалт бүрт цаг өөрчлөгдөхгүйн тулд гүйцэтгэлийг сайжруулах шаардлагатай. Дараа нь бид дахин ачаална.
NILFS2 дахь зургийн төрлүүд.
Устгах эрхгүй ердийн агшин зуурын зургийг хяналтын цэг эсвэл сэргээх цэг гэж нэрлэдэг.
Автоматаар устгахаас хамгаалагдсан хормын хувилбарыг хормын хувилбар, дараа нь зүгээр л хормын хувилбар гэж нэрлэдэг.
Шалгах цэгүүдийг үзэх нь lscp командыг ашиглан хийгддэг
lscp -s агшин зуурын зургийг үзэх
Бид дараахыг ашиглан ямар ч үед агшин зуурын зураг болон хяналтын цэгүүдийг үүсгэж болно:
mkcp [-s] устройство
Бид өгөгдлийг сэргээдэг.
NILFS нь FS-ийн үндсэн салбартай зэрэгцэн хүссэн хэмжээгээрээ хуучин агшин зуурын зургийг холбох боломжийг бидэнд олгодог. Гэхдээ зөвхөн унших горимд.
Бүх зүйл ийм байдлаар зохион байгуулагдсан. NILFS2-ийн хийдэг ердийн хяналтын цэгүүд нь ямар ч үед автоматаар устгагдах боломжтой (дискний зай дуусах үед эсвэл nilfs_cleanerd дүрмийн дагуу) тиймээс суулгахаасаа өмнө хяналтын цэгийг хормын хувилбар болгон хувиргах эсвэл оросоор ярих юм бол агшин зуурын зургийг авах шаардлагатай.
chcp ss номер_чекпоинта
Үүний дараа бид хормын хувилбарыг холбож болно, жишээ нь:
mount -t nilfs2 -r -o cp=номер_чекпоинта /dev/nvme/home /mnt/nilfs/номер_чекпоинта
Үүний дараа бид сэргээгдсэн файлуудыг хормын хувилбараас / home руу хуулна.
Дараа нь бид устгах боломжгүй тугийг агшин зуурын зургаас устгасан бөгөөд ингэснээр ирээдүйд автомат хог цуглуулагч хуучирсан өгөгдлийг устгах боломжтой болно.
chcp cp номер_чекпоинта
NILFS2-д зориулсан хэрэгслүүд
Гэхдээ энэ бол асуудал юм. Тийм ээ, мэдээжийн хэрэг, бид файлын системийг үүсгэж, хэмжээг нь онлайнаар өөрчлөх, сорилтод байгаа цэгүүдийн жагсаалтыг харах, үүсгэх, устгах боломжтой. nilfs2-utils багц нь хамгийн бага тайжны багцыг өгдөг.
NTT санхүүжилтээ хумисан тул файлын өөрчлөлтийн түүхийг харуулах эсвэл агшин зуурын агшин зуурын хооронд ялгаа гаргах боломжийг олгодог хурдан доод түвшний хэрэгслүүд байхгүй байна.
Миний n2u хэрэгсэл
Энэ хоосон орон зайг дүүргэхийн тулд би бичсэн
n2u log filename
Гаралт нь иймэрхүү байна:
CHECKPOINT DATE TIME TYPE SIZE MODE
1787552 2019-11-24 22:08:00 first 7079 cp
1792659 2019-11-25 23:09:05 changed 7081 cp
Сонгосон хэрэгжүүлэх аргын хувьд энэ нь маш хурдан ажилладаг: энэ нь хоёр хэсэгт хуваагдах аргыг ашиглан файлуудын хоорондын ялгааг хайж, өөр өөр агшин зуурын агшин дахь файл/зааврыг хурдан холбож, харьцуулдаг.
Түлхүүрийг ашиглан хяналтын цэгийн хүрээг тохируулах боломжтой -cp CP1:CP2
буюу -cp {YEAR-MM-DD}:{YEAR-MM-DD}
.
Та мөн тодорхой файл эсвэл директорийн хяналтын цэгүүдийн ялгааг харж болно:
n2u diff -r cp1:cp2 filename
Та өөрчлөлтийн он дарааллыг бүхэлд нь харуулах боломжтой: тодорхой файл/санлын хяналтын цэгүүдийн хоорондох бүх ялгаа:
n2u blame [-r cp1:cp2] filename
Энэ командын огнооны интервалыг бас дэмждэг.
Хөгжүүлэгчид хандсан хашгираан
Хабрегийн талаар олон мэргэжилтнүүд байдаг. NILFS2-г дуусгана уу. Хуулбарлах, засварлах, дахин холбох болон бусад сайхан зүйлсийн хоорондох доод түвшний хурдан ялгааг бий болго!
лавлагаа
Хадгалах газар:
Мэдээллийн хуудас:
Талархал:
- NILFS2 хөгжүүлэгчид: Рюсуке Кониши, Кожи Сато, Нарухико Камимура, Сейжи Кихара, Ёошижи Амагай, Хисаши Хифуми, Сатоши Мориаи. Бусад томоохон хувь нэмэр оруулагчид: Андреас Рохнер, Дэн МакГи, Дэвид Арендт, Дэвид Смид, дексен деВрис, Дмитрий Смирнов, Эрик Сандин, Жиро СЕКИБА, Маттео Фриго, Хитоши Митаке, Такаши Ивай, Вячеслав Дубейко.
- Амблин энтертайнмент, Юниверсал пикчерс компанид гайхалтай цуврал кинонуудыг хүргэж байна.
"Ирээдүй рүү буцах" . Нийтлэлийн эхний зургийг “Ирээдүй рүү буцах 3” киноноос авав. - Компани
RUVDS дэмжлэг болон Habré дээр өөрийн блог дээр нийтлэх боломж.
PS Та анзаарсан алдаагаа хувийн мессежээр илгээнэ үү. Үүний тулд би үйлийн үрээ нэмэгдүүлдэг.
Та виртуал машин захиалж NILFS2-г туршиж үзэх боломжтой
Эх сурвалж: www.habr.com