Giunsa ug ngano nga ang kapilian sa noatime nagpauswag sa pasundayag sa sistema sa Linux

Ang pag-update sa panahon makaapekto sa performance sa sistema. Unsa ang nahitabo didto ug kung unsa ang buhaton bahin niini - basaha ang artikulo.

Giunsa ug ngano nga ang kapilian sa noatime nagpauswag sa pasundayag sa sistema sa Linux
Sa matag higayon nga mag-update ako sa Linux sa akong kompyuter sa balay, kinahanglan nakong sulbaron ang pipila ka mga problema. Sulod sa mga katuigan, nahimo na kining batasan: Gi-backup nako ang akong mga file, gipahiran ang sistema, gi-install ang tanan gikan sa wala, gibalik ang akong mga file, dayon gi-install pag-usab ang akong paborito nga mga aplikasyon. Gibag-o usab nako ang mga setting sa sistema aron mahiangay sa akong kaugalingon. Usahay nagkinahanglan kini og daghang panahon. Ug bag-o lang naghunahuna ko kung kinahanglan ba nako kini nga sakit sa ulo.

panahon mao ang usa sa tulo ka mga timestamp alang sa mga file sa Linux (dugang niini sa ulahi). Sa partikular, naghunahuna ko kung maayo pa ba nga ideya nga i-disable ang oras sa mas bag-o nga mga sistema sa Linux. Tungod kay ang atime gi-update sa matag higayon nga ang file ma-access, akong naamgohan nga kini adunay dakong epekto sa performance sa sistema.
Bag-o lang ako nag-upgrade sa Fedora 32 ug, tungod sa naandan, nagsugod pinaagi sa pag-disable sa oras. Naghunahuna ko: kinahanglan ba gyud nako kini? Nakahukom ko nga tun-an kini nga isyu ug mao kini ang akong gikalot.

Usa ka gamay bahin sa mga timestamp sa file

Aron mahibal-an kini, kinahanglan nimo nga mobalik ug hinumdomi ang pipila ka mga butang bahin sa mga sistema sa file sa Linux ug kung giunsa ang mga timestamp sa kernel sa mga file ug direktoryo. Imong makita ang katapusang giusab nga petsa sa mga file ug mga direktoryo pinaagi sa pagpadagan sa sugo ls -l (taas) o pinaagi lang sa pagtan-aw sa impormasyon bahin niini sa file manager. Apan luyo sa mga talan-awon, ang Linux kernel nagsubay sa daghang mga timestamp alang sa mga file ug mga direktoryo:

  1. Kanus-a ang file katapusang giusab (mtime)
  2. Kanus-a ang katapusang higayon nga giusab ang mga kabtangan sa file ug metadata (ctime)
  3. Kanus-a ang file katapusang na-access (sa oras)
  4. Mahimo nimong gamiton ang mando estadosa pagtan-aw sa impormasyon mahitungod sa usa ka file o direktoryo. Ania ang file / etc / fstab gikan sa usa sa akong mga server sa pagsulay:

$ stat fstab
  File: fstab
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2097285     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2019-04-25 21:10:18.083325111 -0500
Modify: 2019-05-16 10:46:47.427686706 -0500
Change: 2019-05-16 10:46:47.434686674 -0500
 Birth: 2019-04-25 21:03:11.840496275 -0500

Dinhi imong makita nga kini nga file gihimo kaniadtong Abril 25, 2019 sa dihang akong gi-install ang sistema. Akong file / etc / fstab kataposang giusab niadtong Mayo 16, 2019, ug ang tanang ubang mga hiyas giusab sa samang higayon.

Kung mangopya ko / etc / fstab sa usa ka bag-ong file, ang mga petsa mausab aron ipakita nga kini usa ka bag-ong file:

$ sudo cp fstab fstab.bak
$ stat fstab.bak
  File: fstab.bak
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:53:58.443659981 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

Apan kung akong ilisan ang ngalan sa file nga dili usbon ang mga sulud niini, ang Linux mag-update ra sa oras nga giusab ang file:

$ sudo mv fstab.bak fstab.tmp
$ stat fstab.tmp
  File: fstab.tmp
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:54:24.576508232 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

Kini nga mga timestamp mapuslanon kaayo alang sa pipila ka mga programa sa Unix. Pananglitan, ang biff usa ka programa nga nagpahibalo kanimo kung adunay bag-ong mensahe sa imong email. Karong panahona, gamay ra ang naggamit biff, apan sa mga adlaw nga ang mga mailbox lokal sa sistema, ang biff kay kasagaran.

Giunsa pagkahibalo sa programa kung naa kay bag-ong mail sa imong inbox? biff nagtandi sa katapusang giusab nga oras (sa diha nga ang inbox file gi-update uban sa usa ka bag-ong email nga mensahe) ug ang katapusan nga access nga oras (sa katapusan nga higayon nga imong gibasa ang imong email). Kung ang pagbag-o nahitabo sa ulahi kaysa sa pag-access, ang biff makasabot nga usa ka bag-ong sulat ang miabot ug magpahibalo kanimo bahin niini. Ang kliyente sa email sa Mutt nagtrabaho sa parehas nga paagi.

Ang katapusan nga pag-access timestamp mapuslanon usab kung kinahanglan nimo nga kolektahon ang mga istatistika sa paggamit sa file system ug pag-tune sa performance. Ang mga tagdumala sa sistema kinahanglan nga mahibal-an kung unsang mga butang ang gi-access aron ma-configure nila ang file system sumala niana.

Apan kadaghanan sa mga modernong programa wala na magkinahanglan niini nga label, mao nga adunay usa ka sugyot nga dili kini gamiton. Kaniadtong 2007, si Linus Torvalds ug daghang uban pang mga developer sa kernel naghisgot sa usa ka panahon sa konteksto sa usa ka isyu sa pasundayag. Ang Linux kernel developer Ingo Molnar mihimo sa mosunod nga punto mahitungod sa atime ug sa ext3 file system:

"Katingad-an nga ang matag desktop ug server sa Linux nag-antus sa mamatikdan nga pagkadaot sa pasundayag sa I / O tungod sa kanunay nga pag-update sa oras, bisan kung adunay duha ra nga tinuud nga tiggamit: tmpwatch [nga mahimong ma-configure aron magamit ang ctime, mao nga dili kini usa ka dako nga problema] ug pipila ka mga gamit sa pag-backup."

Apan ang mga tawo naggamit gihapon sa pipila ka mga programa nga nanginahanglan niini nga label. Mao nga ang pagtangtang sa oras makaguba sa ilang pagpaandar. Ang mga developer sa Linux kernel kinahanglan dili makalapas sa kagawasan sa tiggamit.

Ang solusyon ni Solomon

Adunay daghang mga aplikasyon nga gilakip sa mga distribusyon sa Linux ug dugang pa, ang mga tiggamit maka-download ug maka-install sa ubang mga programa sumala sa ilang mga panginahanglan. Kini usa ka hinungdanon nga bentaha sa usa ka bukas nga gigikanan nga OS. Apan kini nagpalisud sa pag-optimize sa performance sa imong file system. Ang pagtangtang sa mga sangkap nga kusog sa kahinguhaan mahimong makabalda sa sistema.

Isip usa ka kompromiso, ang Linux kernel developers nagpaila sa usa ka bag-ong relaytime nga opsyon nga gituyo aron mabalanse ang performance ug compatibility:

Ang atime gi-update lamang kung ang miaging oras sa pag-access mas gamay kaysa sa karon nga pagbag-o o oras sa pagbag-o sa kahimtang... Sukad sa Linux 2.6.30, gigamit sa kernel kini nga kapilian pinaagi sa default (gawas kung gitakda ang noatime)... Usab, sukad sa Linux 2.6.30 . 1, ang katapusang oras sa pag-access sa usa ka file kanunay nga gi-update kung kini labaw pa sa XNUMX ka adlaw ang edad.

Ang modernong mga sistema sa Linux (sukad sa Linux 2.6.30, gipagawas sa 2009) naggamit na sa relaytime, nga kinahanglan maghatag ug dako kaayong performance boost. Kini nagpasabut nga dili nimo kinahanglan nga i-configure ang file / etc / fstab, ug sa relaytime makasalig ka sa default.

Pagpauswag sa performance sa sistema gamit ang noatime

Apan kung gusto nimo nga i-tune ang imong sistema aron makuha ang labing kataas nga pasundayag, posible gihapon ang pag-disable sa oras.

Ang pagbag-o sa pasundayag mahimong dili kaayo mamatikdan sa kusog kaayo nga modernong mga drive (sama sa NVME o Fast SSD), apan adunay gamay nga pagtaas didto.

Kung nahibal-an nimo nga wala ka naggamit software nga nanginahanglan oras, mahimo nimong pauswagon gamay ang pasundayag pinaagi sa pagpagana sa kapilian nga noatime sa file. /etc/fstab. Pagkahuman niini, ang kernel dili kanunay nga mag-update sa oras. Gamita ang opsyon sa noatime sa pag-mount sa filesystem:

/dev/mapper/fedora_localhost--live-root /          ext4   defaults,noatime,x-systemd.device-timeout=0 1 1
UUID=be37c451-915e-4355-95c4-654729cf662a /boot    ext4   defaults,noatime        1 2
UUID=C594-12B1                          /boot/efi  vfat   umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home      ext4   defaults,noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/fedora_localhost--live-swap none       swap   defaults,x-systemd.device-timeout=0 0 0

Moepekto ang mga pagbag-o sa sunod nga pag-reboot nimo.

Diha sa Mga Katungod sa Pagdukiduki

Kinahanglan ba nimo ang usa ka server aron ma-host ang imong website? Nagtanyag ang among kompanya kasaligan nga mga server nga adunay usa ka adlaw-adlaw o usa ka higayon nga pagbayad, ang matag server konektado sa usa ka channel sa Internet nga 500 Megabits ug gipanalipdan batok sa mga pag-atake sa DDoS nga libre!

Giunsa ug ngano nga ang kapilian sa noatime nagpauswag sa pasundayag sa sistema sa Linux

Source: www.habr.com

Idugang sa usa ka comment