ext4 ఫైల్ సిస్టమ్ సృష్టికర్త అయిన థియోడర్ సో, ext4, BcacheFS ఫైల్ సిస్టమ్ మరియు కెర్నల్ అభివృద్ధి గురించి వెలిబుచ్చిన ఆలోచనల అనువాదం. Linux, ZFS, ప్రవర్తనా నియమావళి మరియు సాధారణంగా ఫైల్ సిస్టమ్లు:
ext4 అభివృద్ధి గురించి.
ప్రతి ext4 కెర్నల్ విడుదలకు అర డజనుకు పైగా వ్యక్తులు సహకరిస్తారు. ప్రస్తుతం, నా సమయం చాలా వరకు కోడ్ను సమీక్షించడం, పరీక్షలను అమలు చేయడం మరియు టెస్ట్ అప్లికేషన్ను మెరుగుపరచడంపైనే గడుస్తోంది.KVM,gce,qemu,android}-xfstests. మరియు కోడ్ సమీక్షలలో నాకు సహాయం చేసే SUSE మరియు IBM లో పనిచేస్తున్న మరో ఇద్దరు లేదా ముగ్గురు డెవలపర్లపై నేను ఎక్కువగా ఆధారపడతాను.
BcacheFS గురించి
నిజం చెప్పాలంటే, bcachefs పూర్తిగా సోలో ప్రాజెక్ట్ కాదు - ఉదాహరణకు, 72 మరియు 6.11 కెర్నల్ విడుదలల మధ్య 6.12% ప్యాచ్ల రచయిత కెంట్, అదే సమయంలో 103 ext4 ప్యాచ్లకు రచయితను నేను. సరిగ్గా 0%. ప్రోగ్రామింగ్ అనేది టీమ్ స్పోర్ట్ అని నేను దృఢంగా విశ్వసిస్తున్నాను మరియు ఫైల్ సిస్టమ్ను మెరుగుపరచడానికి ext4 సభ్యులకు తమ వంతు కృషి చేయడానికి సాంకేతిక నాయకుడిగా నా పని. మాకు వారంవారీ సమావేశాలు ఉన్నాయి మరియు సీనియర్ XFS డెవలపర్ మరియు మాజీ XFS మెయింటెయినర్ అయిన డారిక్ వాంగ్ ఈ కాన్ఫరెన్స్లకు హాజరవుతారు - మరియు నేను XFS టెస్టింగ్ సమస్యలలో అతనికి సహాయం చేస్తానని తెలిసింది మరియు డారిక్ నాకు వివిధ ext4 టెస్టింగ్ సమస్యలలో సహాయం చేసాడు మరియు కొన్నింటిని సమీక్షించాడు పాచెస్ ext4. మేము ఒకరికొకరు సహకరించుకుంటాము మరియు అది మంచిది.
నా కంటే చాలా ప్రతిభావంతుడైన ఒంటరి హాట్ ప్రోగ్రామర్కు వారి డేటాను విశ్వసించాలా వద్దా అని నిర్ణయించుకోవడానికి నేను ఇతర వ్యక్తులకు వదిలివేస్తాను, కానీ నేను మీకు సూచన ఇస్తాను - మీరు దీని ద్వారా "మోసం" చేయవచ్చు సమస్యను పరిష్కరించడానికి ఒక బృందాన్ని పొందడం. మీరు ఒంటరిగా చేయవలసిన అవసరం లేదు. వాస్తవానికి, దీన్ని చేయడానికి, ఇతరులలో ఉత్తమమైన వాటిని ఎలా తీసుకురావాలో మీరు తెలుసుకోవాలి మరియు మీరు కలిసి పని చేయాలి. మరియు మెయిలింగ్ జాబితాలలో ఒకరికొకరు మర్యాదగా ఉండటం బాధించదు.
ext4 యొక్క కెర్నల్, CoC, లక్షణాలు మరియు భవిష్యత్తు గురించి
Ext4 కొన్ని కొత్త ఫీచర్లను పొందుతుంది, కానీ కంపెనీలు నిధులు సమకూర్చడానికి సుముఖంగా ఉన్న ఫీచర్లు ఇవే, ఎందుకంటే ఆ ఫీచర్ను అభివృద్ధి చేయడం వల్ల వచ్చే రాబడి (ROI) ఖర్చు-ప్రయోజన దృక్కోణం నుండి సముచితంగా ఉంటుంది. ఉదాహరణకు, fscrypt మరియు కేస్-ఇన్సెన్సిటివ్ డైరెక్టరీలు వంటి ఫీచర్లు ఉపయోగకరంగా ఉండేవి. Android మరియు Chrome OS, మరియు వీటికి కనీసం పాక్షికంగానైనా ఈ డెవలప్మెంట్ బృందాల ద్వారా నిధులు సమకూర్చబడ్డాయి (Steam కూడా కేస్ ఫోల్డింగ్ గురించి ఆందోళన చెందింది మరియు ఇంజనీర్లలో ఒకరికి మద్దతు ఇచ్చింది). మేము అన్టార్చర్డ్ రైట్స్కు మద్దతును జోడించాలనుకుంటున్నాము, ఎందుకంటే ఇది క్లౌడ్-ఆధారిత ఎమ్యులేటెడ్ బ్లాక్ డివైజ్లపై డేటాబేస్ పనితీరును మెరుగుపరుస్తుంది, ఇక్కడ 16k అటామిక్ రైట్స్కు హామీ ఇవ్వవచ్చు, తద్వారా MySQL మరియు PostgreSQLలో డబుల్-బఫరింగ్ను తొలగిస్తుంది.
(వాస్తవానికి Amazon EBS మరియు Google పెర్సిస్టెంట్ డిస్క్ ఎలా పని చేస్తాయనే దాని గురించి అంచనాలు వేయడం ద్వారా Amazon మరియు Google వారి స్వంత DBMS ఉత్పత్తులలో దీన్ని చేయగలవు, అయితే దీర్ఘకాలంలో మరింత నిర్వహించదగిన విధంగా మేము దీన్ని మరింత సాధారణ పద్ధతిలో చేయాలనుకుంటున్నాము). ఇది రిఫ్లింక్ల వంటి వాటి కంటే తక్కువ సెక్సీగా ఉంటుంది, కానీ ROIని సమర్థించడం చాలా సులభం, ఎందుకంటే ఖర్చులు తక్కువగా ఉంటాయి (తక్కువ అభివృద్ధి, పరీక్ష మరియు ఎంటర్ప్రైజ్ విస్తరణల కోసం అర్హత పని) మరియు ప్రయోజనాలను లెక్కించడం చాలా సులభం. ఈ రకమైన ఉత్పాదకత ఫీచర్ కోసం "నేను ఐదేళ్లలో XX ఫుల్-టైమ్ సాఫ్ట్వేర్ ఇంజనీర్ల జీతాల ఖర్చును ఆదా చేయగలను" వంటి అంశాలు చాలా సులభం.
దీనికి విరుద్ధంగా, రిఫ్లింక్లు సరదాగా ఉంటాయి, కానీ డెవలప్మెంట్ ఖర్చులను చెల్లించడానికి సిద్ధంగా ఉన్న క్లయింట్ని లేదా ఎక్స్ట్4కి రిఫ్లింక్లను జోడిస్తే తమ క్లయింట్లు తమ ఉత్పత్తిని ఎక్కువగా కొనుగోలు చేస్తారని నమ్మే కంపెనీని నేను కనుగొనలేకపోయాను. ఇది భయంకరమైన కార్పొరేట్గా అనిపించవచ్చు, కానీ ZFS ఇంజనీర్లు మేనేజ్మెంట్ నుండి అనుమతి అడగకుండా లేదా అమ్మకాల నుండి ఇన్పుట్ పొందకుండా మొదటి నుండి ప్రాజెక్ట్ను ఎలా ప్రారంభించారనే దాని గురించి ఒక కథనం ఉంది మరియు సన్కి ప్రభావవంతంగా సరిపోయేదాన్ని అందించింది.
వింటుంటే చాలా బాగుంది, కానీ గుర్తుంచుకోండి, సన్ సంస్థ మరో కంపెనీకి అమ్ముకోవలసి వచ్చేంత వరకు నష్టాల్లోనే కొనసాగింది, మరియు ZFSకు మద్దతు ఇచ్చిన ఇంజనీరింగ్ సంస్థ ఇప్పుడు ఉనికిలో లేదు. ZFSను ప్రకటించిన సమయంలో, AIX కోసం ఫైల్ సిస్టమ్ ఫీచర్లలో పెట్టుబడి పెట్టడం సరైనదేనా అని నిర్ధారించడానికి జరిగిన ఒక కంపెనీ-వ్యాప్త అధ్యయనంలో నేను పాలుపంచుకున్నాను. Linux మరియు మేము ఈ నిర్ధారణకు వచ్చాము, లేదు, పెట్టుబడిపై రాబడి తక్కువగా ఉంది, మరియు కొత్త ఫైల్ సిస్టమ్ ఫీచర్లు IBM హార్డ్వేర్, సాఫ్ట్వేర్ లేదా సిస్టమ్లను కొనుగోలు చేసే కస్టమర్ల సంఖ్యను పెంచవు. IBM కష్టకాలంలో పడి ఉండవచ్చు, కానీ అది ఇంకా ఉంది, మరియు సన్ లేదు.
దాదాపు అదే సమయంలో, అనేక మంది ప్రతినిధులు Linuxకంపెనీలు కలిసి ఎలా చేయాలో కనుక్కోవడానికి సమావేశమయ్యాయి Linux ZFS తో పోటీ పడుతుంది. ఈ సమావేశంలోనే btrfs దీర్ఘకాలిక పరిష్కారంగాను, ext4 స్వల్పకాలిక పరిష్కారంగాను ఉంటుందనే ఆలోచన ముందుకు వచ్చింది. ఇది ext3 లో లేని, సాంప్రదాయ లెగసీ యునిక్స్ OS లలో కనిపించే లైవ్ రీసైజింగ్, 64-బిట్ బ్లాక్ నంబర్లు మరియు ఇతర ఫీచర్ల వంటి వాటికి మద్దతును అందిస్తుంది.
ఆ సమావేశంలో, పూర్తిగా కొత్త ఫైల్ సిస్టమ్ను రూపొందించడానికి ఏమి అవసరమో నిర్ణయించమని నన్ను అడిగారు. నేను కొంత పరిశోధన చేసాను, IBM యొక్క GPFS మరియు JFS, Digital's advfs వంటి ఫైల్ సిస్టమ్లను రూపొందించడానికి ఎంత శ్రమ పడుతుందో మరియు ZFSని సృష్టించడానికి మరియు ఆ ఫైల్ సిస్టమ్ను ఉత్పత్తి-సిద్ధమైన స్థితికి తీసుకురావడానికి Sun ఎంత పట్టిందని అంచనా వేసాను. నాకు లభించిన సమాధానం దాదాపు 100 మానవ-సంవత్సరాలు, ఒక తక్కువ అంచనా 50 మానవ-సంవత్సరాలు మరియు 200 మానవ-సంవత్సరాల అధిక అంచనా (కానీ అది GPFS కోసం, ఇది క్లస్టర్డ్ ఫైల్ సిస్టమ్, అందువలన చాలా క్లిష్టమైనది).
నేను దీనిని ఒక సమావేశంలో ప్రస్తావించాను మరియు ఇంటెల్లోని కొంతమంది సీనియర్ ఇంజనీర్ ఇలా అన్నారు, “వద్దు, దీని గురించి ఎగ్జిక్యూటివ్లకు చెప్పకండి ఎందుకంటే వారు ప్రాజెక్ట్ను ఎప్పటికీ ఆమోదించరు! 18 నెలల్లో btrfలు రెడీ అవుతాయని చెప్పండి." Btrfs ఎప్పుడు "ఎంటర్ప్రైజ్-రెడీ" స్థితికి చేరుకోవాలో నిర్ణయించుకునే విషయాన్ని నేను వ్యక్తులకు వదిలివేస్తాను, ప్రత్యేకించి ZFSతో పోటీ పడేందుకు ఉద్దేశించిన సెక్సీ కొత్త అధునాతన ఫీచర్ల కోసం, అయితే ఇది 18 నెలలు కాదనే చర్చ జరగాలని నేను అనుకోను. ఇప్పటి నుండి.
సన్ కంపెనీ రద్దు కాకముందే, సమావేశానికి ప్రతినిధులను పంపిన అనేక కంపెనీలు తమ ఇంజనీర్లను btrfsలో పాల్గొనేలా చేయడానికి నిరాకరించాయి, ఇది సహజంగానే పరిస్థితిని మెరుగుపరచలేదు. కానీ దీనికి కారణం బహుశా కంపెనీలు హేతుబద్ధమైన సంస్థలు కావడం, అవి పెట్టుబడిపై రాబడి గురించి తమ సొంత నిర్ణయాలు తీసుకోవడం, మరియు ప్రజలకు ఏమి చెప్పడమనేది ఒక కొత్త ఫైల్ సిస్టమ్కు నిధులు సమకూర్చడం కంటే ఎక్కువ అర్ధవంతంగా అనిపించడం కావచ్చు. Linux ZFSకు ప్రతిస్పందన ఉంటుంది.
వెనక్కి తిరిగి చూసుకుంటే, ZFSలో ఈ అద్భుతమైన ఫీచర్లు ఉన్నప్పటికీ, చాలా చౌకైన x86 ప్లాట్ఫారమ్లను కొని ఇన్స్టాల్ చేసుకోవడానికి బదులుగా చాలా మంది వినియోగదారులు సోలారిస్ను ఎంచుకునేలా చేయడానికి అవి సరిపోలేదు. Linuxమరియు సన్ సంస్థ ఓపెన్సోలారిస్ మరియు సోలారిస్ x86 వ్యూహాన్ని ప్రయత్నించాలని నిర్ణయించుకునే సమయానికి, చాలా ఆలస్యమైపోయింది. నెట్వర్క్ ప్రభావాలు అపారంగా ఉన్నాయి, మరియు సోలారిస్పై పనిచేస్తున్న అత్యంత ప్రతిభావంతులైన ఇంజనీర్లందరి జీతాలను సన్ అనే ఒకే సంస్థ ఎలా చెల్లించగలదనే ప్రశ్నకు x86 వ్యూహం సమాధానం ఇవ్వలేదు. ఇతర వాటితో పోలిస్తే, $5000కు ఒక x86 సర్వర్ను కొనడం అమ్మకాలపై అధిక రాబడిని అందించదు. సర్వర్ $100000 సన్ఫైర్ E10k స్పార్క్, దీనిని సన్ "డాట్ కామ్"లో "డాట్" అని పిలిచింది.
వాస్తవం ఏమిటంటే, వాస్తవ ప్రపంచంలో ఇంజనీరింగ్ అనేది ట్రేడ్-ఆఫ్, మరియు వ్యాపార వాస్తవాలు ఆ ట్రేడ్-ఆఫ్లో భాగం. నేను ఆహారం తినాలని ఎంచుకున్నందుకు మరియు ఏదో ఒక రోజు పదవీ విరమణ చేయడానికి తగినంత డబ్బు సంపాదించాలని నేను కోరుకుంటున్నందుకు నేను క్షమాపణలు చెప్పను. మరియు దీని అర్థం, నేను యజమానికి నా జీతం కంటే కనీసం 10 రెట్లు విలువను ఎలా తీసుకువస్తాను అనే దానిపై నాకు మంచి అవగాహన ఉండాలి. నేను ఇప్పటికీ ఓపెన్ సోర్స్లో పని చేస్తున్నప్పుడు మరియు ఇతర కంపెనీలు డబ్బు సంపాదించడంలో సహాయం చేయగలిగితే, వారు ext4కి సహకరించడానికి సిద్ధంగా ఉంటే, అది సవాలులో భాగం మరియు నేను ఓపెన్ సోర్స్లో పనిచేయడం ఎందుకు ఇష్టపడతాను.
ఇక ప్రవర్తనా నియమావళి విషయానికి వస్తే, ప్రధాన ఫైల్ సిస్టమ్లను నిర్వహించే వారిలో దాదాపు అందరూ ఆ నియమావళికి మద్దతు ఇచ్చింది ఏదో బలహీనమైన ఉదారవాద కారణాల వల్ల కాదు. ఎందుకంటే, మా ప్రాజెక్ట్కు సహకరించడానికి సిద్ధంగా ఉన్న ప్రతి ఇంజనీర్ మాకు అవసరం, మరియు మాలో చాలా మంది పని చేయడానికి నిరాకరించిన వారిని చూశారు. Linux మరియు ఇతర ఆపరేటింగ్ సిస్టమ్లకు మారారు (నాకు తెలిసిన ఒక వ్యక్తి మారాడు Windows మరియు విలువైన కెర్నల్ డెవలపర్ Linux IBMలో Linux టెక్నాలజీ సెంటర్) లేదా అంతర్గత ప్రాజెక్టులపై పనిచేశాను, కానీ మెయిలింగ్ లిస్ట్లోని పలువురి మధ్య ఉన్న విషపూరిత వాతావరణం కారణంగా, LKMLతో సంప్రదింపులు అవసరమైన ఏ పనీ చేయలేదు.
కొన్ని సందర్భాల్లో భయాలు నిరాధారమైనవి; ఉదాహరణకు, లైనస్ ఒక సీనియర్ డెవలపర్పై అరిచాడు, అతను నిజంగా బాగా తెలిసి ఉండాలి మరియు చాలా సందర్భాలలో లైనస్ వ్యక్తిగతంగా కలుసుకున్నాడు మరియు వారు ఇప్పటికే స్థిరపడిన సంబంధాన్ని కలిగి ఉన్నారు. సమస్య ఏమిటంటే, కొత్తవారికి ఇది తెలియదు మరియు భయపడ్డారు - “లీనస్ నన్ను స్టీవ్కి చేసిన విధంగానే బహిరంగంగా అవమానిస్తే ఏమి చేయాలి,” ఆచరణలో ఇది జరగదని గ్రహించలేదు. అందుకే మనకు CoC ఉంది; ఇది మా సీనియర్ ఇంజనీర్ల కోసం కాదు, మా టీమ్లోని యువ ఇంజనీర్లకు మద్దతు ఇవ్వడానికి మేము రిటైర్ అయ్యే సమయంలో ఏదో ఒక సమయంలో మా స్థానంలో శిక్షణ పొందాలనుకుంటున్నాము, లేదా మేము బస్సును ఢీకొన్నప్పుడు లేదా మనం ఈ మర్త్య ప్రపంచాన్ని వదిలివేస్తాము.
ఎంటర్ప్రైజ్ వాతావరణంలో ఉపయోగించడానికి సిద్ధంగా ఉన్న ఫైల్ సిస్టమ్ను రూపొందించడానికి 50-100 మానవ-సంవత్సరాల పనిని మర్చిపోవద్దు. మేము పొందగలిగే ఇంజనీర్లందరూ మాకు అవసరం, మరియు మనలో చాలా మంది మన ఖాళీ సమయంలో అదనపు పని చేస్తారు ఎందుకంటే మేము శ్రద్ధ వహిస్తాము. అధిక-నాణ్యత ఫైల్ సిస్టమ్ను రూపొందించడం అనేది జట్టు ప్రయత్నం, మరియు మేము పొందగలిగే ప్రతిభావంతులైన ఇంజనీర్ మాకు అవసరం. ఒక ఇంజనీర్ సూపర్ 10x ప్రోగ్రామర్ అయినప్పటికీ, అతను టెస్టింగ్, పెర్ఫార్మెన్స్ ట్యూనింగ్ మొదలైనవాటిలో పని చేస్తున్న ఇతర ఇంజనీర్ల సమూహాన్ని భయపెట్టడం ముగించినట్లయితే, ఎవరైనా ఒక గాడిదగా ఉండనివ్వడం విలువైనది కాదు.
మూలం: opennet.ru
