diff options
author | Manolis Kiagias <manolis@FreeBSD.org> | 2008-05-29 18:08:01 +0000 |
---|---|---|
committer | Manolis Kiagias <manolis@FreeBSD.org> | 2008-05-29 18:08:01 +0000 |
commit | e0a5fdd7725c1f1b79cb3118a247ef13aeb75d3e (patch) | |
tree | 07f66055fa2721bb0ad8ebcbce4d0c6fa17f1887 /el_GR.ISO8859-7 | |
parent | 1f1bc0f8112028aa498815ca8c8bb875575012d8 (diff) |
Notes
Diffstat (limited to 'el_GR.ISO8859-7')
-rw-r--r-- | el_GR.ISO8859-7/articles/Makefile | 1 | ||||
-rw-r--r-- | el_GR.ISO8859-7/articles/gjournal-desktop/Makefile | 23 | ||||
-rw-r--r-- | el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml | 761 |
3 files changed, 785 insertions, 0 deletions
diff --git a/el_GR.ISO8859-7/articles/Makefile b/el_GR.ISO8859-7/articles/Makefile index 0411742f10..982c80dbe0 100644 --- a/el_GR.ISO8859-7/articles/Makefile +++ b/el_GR.ISO8859-7/articles/Makefile @@ -9,6 +9,7 @@ SUBDIR+= dialup-firewall SUBDIR+= explaining-bsd SUBDIR+= formatting-media SUBDIR+= freebsd-questions +SUBDIR+= gjournal-desktop SUBDIR+= greek-language-support SUBDIR+= laptop SUBDIR+= multi-os diff --git a/el_GR.ISO8859-7/articles/gjournal-desktop/Makefile b/el_GR.ISO8859-7/articles/gjournal-desktop/Makefile new file mode 100644 index 0000000000..4cc2e1422f --- /dev/null +++ b/el_GR.ISO8859-7/articles/gjournal-desktop/Makefile @@ -0,0 +1,23 @@ +# +# $FreeBSD$ +# +# Article: Implementing UFS journaling on a desktop PC +# +# %SOURCE% en_US.ISO8859-1/articles/gjournal-desktop/Makefile +# %SRCID% 1.11 +# + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml +IMAGES_EN = disklabel1.png +IMAGES_EN += disklabel2.png +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml b/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml new file mode 100644 index 0000000000..2077a3b312 --- /dev/null +++ b/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml @@ -0,0 +1,761 @@ +<!-- + + Υλοποίηση του UFS Journaling σε ένα desktop υπολογιστή + + The FreeBSD Greek Documentation Project + + %SOURCE% en_US.ISO8859-1/articles/gjournal-dekstop/article.sgml + %SRCID% 1.2 + +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EL"> +%articles.ent; +<!ENTITY iso-greek "ISO/IEC 8859-7"> +]> + +<article lang="el"> + <articleinfo> + <title>Υλοποίηση του UFS journaling σε ένα desktop υπολογιστή</title> + + <author> + <firstname>Μανώλης</firstname> + <surname>Κιαγιάς</surname> + <affiliation> + <address><email>manolis@FreeBSD.org</email></address> + </affiliation> + </author> + + <copyright> + <year>2008</year> + <holder role="mailto:manolis@FreeBSD.org">Μανώλης Κιαγιάς</holder> + </copyright> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.general; + </legalnotice> + + <abstract> + <para>Ένα σύστημα αρχείων που διαθέτει δυνατότητα journaling, + χρησιμοποιεί ένα αρχείο καταγραφής (journal ή ημερολόγιο) στο οποίο + γίνονται αρχικά οι εγγραφές πριν καταχωρηθούν στο κανονικό σύστημα + αρχείων. Με τον τρόπο αυτό μπορεί να εξασφαλιστεί η ακεραιότητα του + συστήματος αρχείων στην περίπτωση κατάρρευσης ή απότομης διακοπής της + τροφοδοσίας του. Η χρήση του journaling διασφαλίζει την συνολική + ακεραιότητα του συστήματος αρχείων, αλλά δεν μπορεί να διασφαλίσει + ότι δεν θα έχουμε απώλεια δεδομένων σε μεμονωμένα αρχεία τα οποία + ήταν ενδεχομένως σε χρήση την ώρα της κατάρρευσης. Ένα πλεονέκτημα + του journaling είναι η ελαχιστοποίηση του χρόνου που απαιτείται για + τον έλεγχο του συστήματος αρχείων σε περίπτωση κακού τερματισμού. Το + σύστημα αρχείων UFS που χρησιμοποιείται από το &os; δεν διαθέτει δικό + του ενσωματωμένο journaling. Ωστόσο, το πλαίσιο λειτουργιών GEOM στο + &os; 7.X παρέχει ένα νέο journal class το οποίο δίνει αυτή τη + δυνατότητα, και μάλιστα ανεξάρτητα από το σύστημα αρχείων που + χρησιμοποιείται. Στο άρθρο αυτό εξετάζουμε πως μπορούμε να + χρησιμοποιήσουμε το journaling σε ένα τυπικό desktop μηχάνημα για + εργασία γραφείου.</para> + </abstract> + </articleinfo> + + <sect1 id="introduction"> + <title>Εισαγωγή</title> + + <para>Αν και οι περισσότεροι εξυπηρετητές που χρησιμοποιούνται σε + περιβάλλοντα παραγωγής είναι καλά προστατευμένοι από μη-αναμενόμενους + τερματισμούς, δεν συμβαίνει το ίδιο και με το συνηθισμένο desktop + μηχάνημα το οποίο βρίσκεται στα χέρια του τελικού χρήστη. Αυτό συνήθως + δεν προστατεύεται από διακοπές ρεύματος, ενώ δεν είναι και οι λίγες οι + περιπτώσεις που ο κακός τερματισμός οφείλεται σε λανθασμένο χειρισμό + του χρήστη (κατά λάθος πίεση του reset κ.α.). Στις περισσότερες από + αυτές τις περιπτώσεις, τα soft updates που χρησιμοποιεί το σύστημα + αρχείων UFS μπορούν να το προστατεύσουν αρκετά καλά, αν και μετά τον + προβληματικό τερματισμό απαιτείται συνήθως έλεγχος του συστήματος + αρχείων, ο οποίος ακόμα και όταν γίνεται στο παρασκήνιο, διαρκεί + αρκετό χρόνο. Σε σπάνιες περιπτώσεις, το σύστημα αρχείων μπορεί να + υποστεί ζημιά η οποία να χρειάζεται χειροκίνητη επέμβαση για να + διορθωθεί, ενώ είναι πιθανή και η απώλεια δεδομένων.</para> + + <para>Η νέα δυνατότητα για journaling που παρέχεται από το GEOM μπορεί + να βοηθήσει ιδιαίτερα στις παραπάνω περιπτώσεις, ελαχιστοποιώντας το + χρόνο που απαιτείται για τον έλεγχο του συστήματος αρχείων και + εξασφαλίζοντας ότι το σύστημα θα επανέλθει πολύ σύντομα σε σταθερή + κατάσταση.</para> + + <para>Το άρθρο αυτό περιγράφει μια διαδικασία για την υλοποίηση του UFS + journaling σε ένα τυπικό desktop PC (στο οποίο χρησιμοποιείται ένας + σκληρός δίσκος τόσο για το σύστημα όσο και για τα δεδομένα). Θα πρέπει + να ακολουθήσετε αυτές τις οδηγίες κατά τη διάρκεια μιας νέας + εγκατάστασης του &os;. Τα βήματα είναι αρκετά απλά και δεν απαιτούν + ιδιαίτερα πολύπλοκες εντολές.</para> + + <para>Αφού διαβάσετε αυτό το άρθρο, θα ξέρετε:</para> + + <itemizedlist> + <listitem> + <para>Πως να δεσμεύσετε κάποιο χώρο στο δίσκο για το journaling κατά + τη διάρκεια μιας νέας εγκατάστασης του &os;.</para> + </listitem> + + <listitem> + <para>Πως να φορτώσετε και να ενεργοποιήσετε το άρθρωμα (module) + <literal>geom_journal</literal> (ή πως να ενσωματώσετε τη + λειτουργία του στον προσαρμοσμένο πυρήνα σας).</para> + </listitem> + + <listitem> + <para>Πως να μετατρέψετε τα υπάρχοντα συστήματα αρχείων σας ώστε + να χρησιμοποιούν journaling, και τι παραμέτρους θα πρέπει να δώσετε + στο <filename>/etc/fstab</filename> ώστε να τα προσαρτήσετε.</para> + </listitem> + + <listitem> + <para>Πως να ενεργοποιήσετε το journaling σε νέες (άδειες) + κατατμήσεις.</para> + </listitem> + + <listitem> + <para>Πως να αντιμετωπίσετε προβλήματα που σχετίζονται με το + journaling.</para> + </listitem> + </itemizedlist> + + <para>Πριν διαβάσετε αυτό το άρθρο, θα πρέπει:</para> + + <itemizedlist> + <listitem> + <para>Να κατανοείτε βασικές έννοιες του &unix; και του &os;.</para> + </listitem> + + <listitem> + <para>Να είστε εξοικειωμένος με τη διαδικασία εγκατάστασης του &os; + και το βοηθητικό πρόγραμμα + <application>sysinstall</application>.</para> + </listitem> + </itemizedlist> + + <warning> + <para>Η διαδικασία που περιγράφεται εδώ, προορίζεται για χρήση σε νέες + εγκαταστάσεις, όπου δεν υπάρχουν ακόμα αποθηκευμένα δεδομένα χρήστη. + Αν και είναι δυνατόν να τροποποιήσετε και να επεκτείνετε τη + διαδικασία αυτή σε μηχανήματα που βρίσκονται ήδη σε κανονική χρήση, + θα πρέπει οπωσδήποτε να + <emphasis>πάρετε αντίγραφα ασφαλείας</emphasis> όλων των σημαντικών + δεδομένων πριν επιχειρήσετε οποιαδήποτε αλλαγή. Όταν κάνετε αλλαγές + στα συστήματα αρχείων και στις κατατμήσεις των δίσκων σε τέτοιο + επίπεδο, είναι πιθανόν να κάνετε λάθη τα οποία θα αποβούν μοιραία για + τα δεδομένα σας.</para> + </warning> + </sect1> + + <sect1 id="understanding-journaling"> + <title>Κατανόηση του journaling στο &os;</title> + + <para>Το journaling που παρέχεται από το GEOM στο &os; 7.X δεν + είναι προσανατολισμένο σε κάποιο συγκεκριμένο σύστημα αρχείων (όπως για + παράδειγμα συμβαίνει με το σύστημα αρχείων ext3 στο &linux;) αλλά + λειτουργεί σε επίπεδο block. Αν και αυτό σημαίνει ότι μπορεί να + χρησιμοποιηθεί σε διαφορετικά συστήματα αρχείων, για το + &os; 7.0-RELEASE, είναι δυνατή η χρήση του μόνο στο UFS2.</para> + + <para>Οι λειτουργίες journaling παρέχονται φορτώνοντας το άρθρωμα + <filename>geom_journal.ko</filename> στον πυρήνα (ή ενσωματώνοντας τη + λειτουργία του σε ένα προσαρμοσμένο πυρήνα) και χρησιμοποιώντας την + εντολή <command>gjournal</command> για τη ρύθμιση των συστημάτων + αρχείων. Η χρήση του journaling είναι γενικά θεμιτή σε μεγάλα + συστήματα αρχείων, όπως είναι το <filename>/usr</filename>. Θα + χρειαστεί ωστόσο να έχετε δεσμεύσει από πριν κάποιο ελεύθερο χώρο στο + δίσκο.</para> + + <para>Όταν γίνεται χρήση του journaling σε ένα σύστημα αρχείων, απαιτείται + κάποιος ελεύθερος χώρος για να αποθηκεύονται τα δεδομένα του ημερολογίου + καταγραφής (journal). Ο χώρος του δίσκου που αποθηκεύονται τα + πραγματικά δεδομένα αναφέρεται ως <emphasis>παροχέας δεδομένων (data + provider)</emphasis>, ενώ ο χώρος στον οποίο αποθηκεύεται το ημερολόγιο + ονομάζεται <emphasis>παροχέας ημερολογίου (journal provider).</emphasis> + Σε περίπτωση που το journaling γίνεται σε σύστημα αρχείων το οποίο έχει + ήδη δεδομένα, οι δύο παροχείς πρέπει να βρίσκονται σε διαφορετικές + κατατμήσεις. Σε περίπτωση χρήσης journaling σε νέα κατάτμηση, έχετε την + επιλογή να χρησιμοποιήσετε τον ίδιο παροχέα και για τα δεδομένα και για + το ημερολόγιο. Σε κάθε περίπτωση, με τη χρήση της εντολής + <command>gjournal</command>, οι δύο παροχείς συνδυάζονται για να + δημιουργήσουν το τελικό σύστημα αρχείων που υποστηρίζει journaling. + Για παράδειγμα:</para> + + <itemizedlist> + <listitem> + <para>Θέλετε να χρησιμοποιήσετε journaling στο σύστημα αρχείων + <filename>/usr</filename>, το οποίο βρίσκεται στο + <filename role="device">/dev/ad0s1f</filename> (το σύστημα αρχείων + περιέχει ήδη δεδομένα).</para> + </listitem> + + <listitem> + <para>Έχετε κρατήσει κάποιο κενό χώρο στο δίσκο, σε μια κατάτμηση + στο <filename role="device">/dev/ad0s1g</filename>.</para> + </listitem> + + <listitem> + <para>Με την χρήση της εντολής <command>gjournal</command>, θα + δημιουργηθεί μια νέα συσκευή, η + <filename role="device">/dev/ad0s1f.journal</filename>, όπου + το <filename role="device">/dev/ad0s1f</filename> θα είναι ο + παροχέας δεδομένων και το + <filename role="device">/dev/ad0s1g</filename> θα είναι ο παροχέας + ημερολογίου. Η νέα αυτή συσκευή θα χρησιμοποιείται πλέον για όλες + τις εργασίες που θα εκτελούνται στο σύστημα αρχείων.</para> + </listitem> + </itemizedlist> + + <para>Ο χώρος στο δίσκο που απαιτείται για το ημερολόγιο εξαρτάται από + τη χρήση του συστήματος αρχείων, και όχι από το μέγεθος του παροχέα + δεδομένων. Για παράδειγμα, σε ένα τυπικό μηχάνημα γραφείου, θα είναι + αρκετό να χρησιμοποιήσετε 1Gb για τον παροχέα ημερολογίου του + συστήματος αρχείων <filename>/usr</filename>, ενώ σε ένα μηχάνημα το + οποίο χρησιμοποιείται σε εργασίες όπου οι εγγραφές στο δίσκο είναι πολύ + συχνές και μεγάλες σε μέγεθος (π.χ. επεξεργασία video) θα χρειαστείτε + περισσότερο χώρο. Σε περίπτωση που ο χώρος που έχει δεσμευθεί για το + ημερολόγιο εξαντληθεί πριν γίνει δυνατή η εγγραφή δεδομένων στο + κανονικό σύστημα αρχείων, το σύστημα θα καταρρεύσει με kernel + panic.</para> + + <para>Για περισσότερες πληροφορίες σχετικά με το journaling, παρακαλούμε + διαβάστε τη σελίδα manual του &man.gjournal.8;.</para> + </sect1> + + <sect1 id="reserve-space"> + <title>Βήματα κατά την εγκατάσταση του &os;</title> + + <sect2> + <title>Δέσμευση χώρου στο δίσκο για το journaling</title> + + <para>Ένα τυπικό desktop μηχάνημα, έχει συνήθως ένα σκληρό δίσκο στον + οποίο αποθηκεύονται τόσο το λειτουργικό όσο και τα δεδομένα του + χρήστη. Συνήθως, οι προεπιλεγμένες κατατμήσεις που δημιουργούνται + από το <application>sysinstall</application> είναι περίπου σωστές: + Ένα desktop μηχάνημα δεν χρειάζεται μεγάλη κατάτμηση + <filename>/var</filename>, ενώ το μεγαλύτερο μέρος του ελεύθερου + χώρου αποδίδεται στο <filename>/usr</filename>, αφού στους + υποκαταλόγους του αποθηκεύονται τα δεδομένα του χρήστη και γίνονται + και οι εγκαταστάσεις του λογισμικού.</para> + + <para>Χρησιμοποιώντας τις προεπιλεγμένες κατατμήσεις (αυτές που + δημιουργεί ο επεξεργαστής disklabel όταν πιέσετε το + <keycap>A</keycap>), δεν μένει καθόλου ελεύθερος χώρος. Ωστόσο κάθε + κατάτμηση στην οποία θέλετε να χρησιμοποιήσετε journaling, χρειάζεται + ακόμα μία για την αποθήκευση του ημερολογίου. Καθώς η κατάτμηση + <filename>/usr</filename> είναι η μεγαλύτερη, το πλέον λογικό είναι + να την μικρύνουμε ελαφρά ώστε να εξασφαλίσουμε το χώρο που απαιτείται + για το journaling.</para> + + <para>Στο παράδειγμα μας, χρησιμοποιείται ένας δίσκος μεγέθους 80Gb. + Στην ακόλουθη εικόνα φαίνονται οι προεπιλεγμένες κατατμήσεις όπως + δημιουργούνται από τον επεξεργαστή disklabel κατά την + εγκατάσταση:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="disklabel1.png"> + </imageobject> + </mediaobject> + + <para>Αν τα παραπάνω μεγέθη είναι περίπου τα επιθυμητά για την + εγκατάσταση σας, είναι αρκετά εύκολο να ρυθμιστούν ώστε να γίνει + δυνατή η χρήση του journaling. Απλώς χρησιμοποιήστε τα + <keycap>πάνω</keycap> και <keycap>κάτω</keycap> βελάκια για να + μετακινήσετε την μπάρα επιλογής στην κατάτμηση + <filename>/usr</filename> και πιέστε το <keycap>D</keycap> για να + την διαγράψετε.</para> + + <para>Τώρα, μετακινήστε την μπάρα επιλογής στο όνομα του σκληρού δίσκου + στο άνω μέρος της οθόνης, και πιέστε <keycap>C</keycap> για να + δημιουργήσετε μια νέα κατάτμηση για το <filename>/usr</filename>. + Η νέα αυτή κατάτμηση θα πρέπει να είναι μικρότερη κατά 1Gb (αν έχετε + σκοπό να χρησιμοποιήσετε journaling μόνο στο + <filename>/usr</filename>), ή κατά 2Gb (αν έχετε σκοπό να + χρησιμοποιήσετε journaling τόσο στο <filename>/usr</filename> όσο και + στο <filename>/var</filename>). Στο διάλογο που θα εμφανιστεί, + επιλέξτε να δημιουργήσετε σύστημα αρχείων (file system) και γράψτε + <filename>/usr</filename> ως το σημείο προσάρτησης + (mount point).</para> + + <note> + <para>Είναι αναγκαία η χρήση journaling στην κατάτμηση + <filename>/var</filename> partition; Φυσιολογικά, το journaling έχει + νόημα μόνο σε αρκετά μεγάλες κατατμήσεις. Δεν πρόκειται ωστόσο να + δημιουργηθεί κάποιο πρόβλημα αν χρησιμοποιήσετε journaling στο + <filename>/var</filename>. Αν η χρήση του συγκεκριμένου συστήματος + αρχείων είναι μικρή (το οποίο είναι και το πιθανότερο σε ένα + dekstop μηχάνημα) ίσως είναι καλή ιδέα να χρησιμοποιήσετε λιγότερο + χώρο στο δίσκο για το ημερολόγιο του.</para> + + <para>Στο παράδειγμα μας, θα ενεργοποιήσουμε το journaling τόσο στο + <filename>/usr</filename> όσο και στο <filename>/var</filename>. + Μπορείτε φυσικά να προσαρμόσετε αυτή τη διαδικασία σύμφωνα με τις + ανάγκες σας.</para> + </note> + + <para>Για να απλοποιήσουμε, όσο είναι δυνατόν, τη διαδικασία, θα + χρησιμοποιήσουμε το <application>sysinstall</application> για να + δημιουργήσουμε τις κατατμήσεις που απαιτούνται για το journaling. + Ωστόσο, κατά τη διάρκεια της εγκατάστασης, το + <application>sysinstall</application> επιμένει να ρωτάει για σημεία + προσάρτησης σε κάθε κατάτμηση που δημιουργείται. Στο σημείο αυτό, + δεν υπάρχουν σημεία προσάρτησης για τις κατατμήσεις μας, και στην + πραγματικότητα <emphasis>δεν τα χρειαζόμαστε καν</emphasis>. Οι + κατατμήσεις που χρησιμοποιούνται για τα ημερολόγια, δεν προσαρτώνται + κάπου.</para> + + <para>Για να αποφύγουμε αυτά τα προβλήματα με το + <application>sysinstall</application>, θα δημιουργήσουμε αυτές τις + κατατμήσεις ως χώρο swap. Στο swap δεν γίνεται ποτέ προσάρτηση, + ενώ και το <application>sysinstall</application> δεν έχει κανένα + πρόβλημα να δημιουργήσει όσες τέτοιες κατατμήσεις χρειαζόμαστε. Μετά + την πρώτη εκκίνηση, θα πρέπει ωστόσο να επεξεργαστούμε το αρχείο + <filename>/etc/fstab</filename> και να αφαιρέσουμε τις έξτρα + καταχωρήσεις swap που δημιουργήθηκαν κατά την εγκατάσταση.</para> + + <para>Για να δημιουργήσετε τους χώρους swap, χρησιμοποιήστε πάλι τα + <keycap>πάνω</keycap> και <keycap>κάτω</keycap> βελάκια για να + μετακινήσετε την μπάρα επιλογής στο άνω μέρος της οθόνης του + επεξεργαστή disklabel, έτσι ώστε να είναι επιλεγμένο το όνομα του + σκληρού δίσκου. Κατόπιν, πιέστε <keycap>N</keycap>, δώστε το + επιθυμητό μέγεθος (<replaceable>1024M</replaceable>), και επιλέξτε + <quote>swap space</quote> από το μενού που εμφανίζεται. Επαναλάβετε + για κάθε ημερολόγιο που επιθυμείτε να δημιουργήσετε. Στο παράδειγμα + μας, δημιουργούμε δύο κατατμήσεις στις οποίες θα αποθηκεύονται τα + ημερολόγια των <filename>/usr</filename> και + <filename>/var</filename>. Το τελικό αποτέλεσμα φαίνεται στην + παρακάτω εικόνα:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="disklabel2.png"> + </imageobject> + </mediaobject> + + <para>Μόλις ολοκληρώσετε τη δημιουργία των κατατμήσεων, σας συνιστούμε + να σημειώσετε τα ονόματα τους και τα σημεία προσάρτησης για να τα + έχετε πρόχειρα κατά τη φάση των ρυθμίσεων. Με τον τρόπο αυτό θα + αποφύγετε τυχόν λάθη που μπορεί να καταστρέψουν την εγκατάσταση σας. + Ο παρακάτω πίνακας δείχνει τις σημειώσεις μας για το παράδειγμα + μας:</para> + + <table pgwide="1"> + <title>Κατατμήσεις και ημερολόγια</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Κατάτμηση</entry> + <entry>Σημείο προσάρτησης</entry> + <entry>Ημερολόγιο</entry> + </row> + </thead> + + <tbody> + <row> + <entry>ad0s1d</entry> + <entry>/var</entry> + <entry>ad0s1h</entry> + </row> + + <row> + <entry>ad0s1f</entry> + <entry>/usr</entry> + <entry>ad0s1g</entry> + </row> + </tbody> + </table> + + <para>Συνεχίστε την εγκατάσταση όπως συνήθως. Σας συνιστούμε ωστόσο να + μην εγκαταστήσετε εφαρμογές (πακέτα) μέχρι να ολοκληρώσετε τη + διαδικασία του journaling.</para> + </sect2> + + <sect2 id="first-boot"> + <title>Πρώτη εκκίνηση</title> + + <para>Το σύστημα σας θα ξεκινήσει φυσιολογικά, αλλά θα χρειαστεί να + επεξεργαστείτε το <filename>/etc/fstab</filename> και να διαγράψετε + τις καταχωρήσεις για τις κατατμήσεις swap που θα χρησιμοποιηθούν στα + ημερολόγια. Φυσιολογικά, η κατάτμηση που χρησιμοποιείται ως κανονικό + swap τελειώνει με το γράμμα <quote>b</quote> (π.χ. ad0s1b στο + παράδειγμα μας). Διαγράψτε όλες τις άλλες καταχωρήσεις για το swap + και επανεκκινήστε το σύστημα σας, ώστε να σταματήσει το &os; να τις + χρησιμοποιεί.</para> + + <para>Μόλις το σύστημα εκκινήσει ξανά, θα είμαστε έτοιμοι να ρυθμίσουμε + το journaling.</para> + </sect2> + + <sect1 id="configure-journal"> + <title>Ρύθμιση του journaling</title> + + <sect2 id="running-gjournal"> + <title>Εκτέλεση της εντολής gjournal</title> + + <para>Έχοντας προετοιμάσει όλες τις απαραίτητες κατατμήσεις, είναι + σχετικά απλό να ρυθμίσουμε το journaling. Θα πρέπει να μεταβούμε σε + κατάσταση ενός χρήστη, για το λόγο αυτό εισέλθετε στο σύστημα ως root + και γράψτε:</para> + + <screen>&prompt.root; shutdown now</screen> + + <para>Πιέστε enter για να βγείτε στο προεπιλεγμένο κέλυφος. Θα πρέπει + να αποπροσαρτήσουμε τις κατατμήσεις στις οποίες θα γίνει το + journaling, στο παράδειγμα μας τις + <filename>/usr </filename> και <filename>/var</filename>:</para> + + <screen>&prompt.root; umount /usr /var</screen> + + <para>Φορτώστε το άρθρωμα του πυρήνα που απαιτείται για το + journaling:</para> + + <screen>&prompt.root; gjournal load</screen> + + <para>Χρησιμοποιήστε τώρα τις σημειώσεις σας για να καθορίσετε + ποια κατάτμηση χρησιμοποιείται για κάθε ημερολόγιο. Στο + παράδειγμα μας, το <filename>/usr</filename> βρίσκεται στο + <filename role="device">ad0s1f</filename> και το ημερολόγιο του + θα είναι στο <filename role="device">ad0s1g</filename>, ενώ το + <filename>/var</filename> είναι στο + <filename role="device">ad0s1d</filename> και το ημερολόγιο του θα + είναι στο <filename role="device">ad0s1h</filename>. Θα χρειαστείτε + τις παρακάτω εντολές:</para> + + <screen>&prompt.root; gjournal label ad0s1f ad0s1g + +GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data. +GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal. + +&prompt.root; gjournal label ad0s1d ad0s1h + +GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data. +GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.</screen> + + <note> + <para>Αν ο τελευταίος τομέας κάποιας από τις κατατμήσεις είναι σε + χρήση, η εντολή <command>gjournal</command> θα σας επιστρέψει ένα + μήνυμα λάθους. Θα πρέπει να εκτελέσετε την εντολή χρησιμοποιώντας + την παράμετρο <option>-f</option> με την οποία θα υποχρεώσετε την + επανεγγραφή του τομέα, π.χ.:</para> + + <screen>&prompt.root; gjournal label -f ad0s1d ad0s1h</screen> + + <para>Μια που πρόκειται για νέα εγκατάσταση, είναι μάλλον απίθανο + να προκαλέσετε κάποιο πρόβλημα.</para></note> + + <para>Στο σημείο αυτό δημιουργούνται δύο νέες συσκευές, οι + <filename role="device">ad0s1d.journal</filename> και + <filename role="device">ad0s1f.journal</filename>. Αυτές + αντιπροσωπεύουν τις κατατμήσεις + <filename>/var</filename> και <filename>/usr</filename> + που θα πρέπει να προσαρτήσουμε. Πριν τις προσαρτήσουμε ωστόσο, + θα πρέπει να θέσουμε την επιλογή journal και να αναιρέσουμε την + επιλογή soft updates:</para> + + <screen>&prompt.root; tunefs -J enable -n disable ad0s1d.journal + +tunefs: gjournal set +tunefs: soft updates cleared + +&prompt.root; tunefs -J enable -n disable ad0s1f.journal + +tunefs: gjournal set +tunefs: soft updates cleared</screen> + + <para>Προσαρτήστε τώρα χειροκίνητα τις νέες συσκευές στα αντίστοιχα + σημεία προσάρτησης (σημειώστε ότι μπορούμε πλέον να χρησιμοποιήσουμε + την επιλογή <quote>async</quote> κατά την προσάρτηση):</para> + + <screen>&prompt.root; mount -o async /dev/ad0s1d.journal /var +&prompt.root; mount -o async /dev/ad0s1f.journal /usr</screen> + + <para>Επεξεργαστείτε το αρχείο <filename>/etc/fstab</filename> και + ανανεώστε τις καταχωρήσεις για τις κατατμήσεις + <filename>/usr</filename> και <filename>/var</filename>:</para> + + <programlisting>/dev/ad0s1f.journal /usr ufs rw,async 2 2 +/dev/ad0s1d.journal /var ufs rw,async 2 2</programlisting> + + <warning> + <para>Βεβαιωθείτε ότι οι παραπάνω καταχωρήσεις είναι σωστές, + διαφορετικά θα έχετε πρόβλημα να εκκινήσετε κανονικά στην επόμενη + επανεκκίνηση του συστήματος σας.</para> + </warning> + + <para>Τέλος, επεξεργαστείτε το αρχείο + <filename>/boot/loader.conf</filename> και προσθέστε την ακόλουθη + γραμμή ώστε να φορτώνεται το άρθρωμα &man.gjournal.8; σε κάθε + εκκίνηση:</para> + + <programlisting>geom_journal_load="YES"</programlisting> + + <para>Συγχαρητήρια! Το σύστημα σας είναι τώρα έτοιμο για journaling. + Μπορείτε να γράψετε <quote>exit</quote> για να επιστρέψετε στην + κανονική λειτουργία (πολλαπλών χρηστών) ή να επανεκκινήσετε το σύστημα + σας (συνίσταται) για να ελέγξετε τις ρυθμίσεις σας. Κατά την + εκκίνηση, θα δείτε μηνύματα όπως το παρακάτω:</para> + + <screen>ad0: 76293MB XEC XE800JD-00HBC0 08.02D08 at ata0-master SATA150 +GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal. +GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal. +GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data. +GEOM_JOURNAL: Journal ad0s1d clean. +GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data. +GEOM_JOURNAL: Journal ad0s1f clean.</screen> + + <para>Μετά από ένα προβληματικό τερματισμό θα δείτε μηνύματα όπως το + παρακάτω:</para> + + <screen>GEOM_JOURNAL: Journal ad0s1d consistent.</screen> + + <para>Αυτό συνήθως σημαίνει ότι το &man.gjournal.8; χρησιμοποίησε τις + πληροφορίες του ημερολογίου για να επιστρέψει το σύστημα αρχείων + σε σταθερή κατάσταση.</para> + </sect2> + + <sect2 id="gjournal-new"> + <title>Χρήση του journaling σε νέες κατατμήσεις</title> + + <para>Αν και η παραπάνω διαδικασία είναι απαραίτητη για να + χρησιμοποιήσετε journaling σε κατατμήσεις που έχουν ήδη δεδομένα, η + αντίστοιχη διαδικασία για νέες κατατμήσεις είναι πιο απλή. Στην + περίπτωση αυτή, μπορεί να χρησιμοποιηθεί ο ίδιος παροχέας τόσο για + τα δεδομένα όσο και για το ημερολόγιο. Για παράδειγμα, υποθέστε ότι + έχετε προσθέσει ένα νέο δίσκο και έχετε δημιουργήσει την κατάτμηση + <filename role="device">/dev/ad1s1d</filename>. Η δημιουργία του + ημερολογίου είναι αρκετά απλή και φαίνεται παρακάτω:</para> + + <screen>&prompt.root; gjournal label ad1s1d</screen> + + <para>Το προεπιλεγμένο μέγεθος του ημερολογίου είναι 1Gb. Μπορείτε + ωστόσο να το ρυθμίσετε χρησιμοποιώντας την επιλογή + <option>-s</option>. Μπορείτε να δώσετε τιμές σε bytes, ή να βάλετε + μετά την τιμή ένα από τα γράμματα <literal>K</literal>, + <literal>M</literal> ή <literal>G</literal> για να δηλώσετε + Kilobytes, Megabytes ή Gigabytes αντίστοιχα. Σημειώστε ότι η εντολή + <command>gjournal</command>, δεν θα σας επιτρέψει να δημιουργήσετε + ημερολόγιο που να είναι ακατάλληλο λόγω μικρού μεγέθους.</para> + + <para>Για παράδειγμα, για να δημιουργήσετε ένα ημερολόγιο μεγέθους 2Gb, + μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:</para> + + <screen>&prompt.root; gjournal label -s 2G ad1s1d</screen> + + <para>Μπορείτε έπειτα να δημιουργήσετε ένα σύστημα αρχείων στη νέα σας + κατάτμηση, και ταυτόχρονα να ενεργοποιήσετε το journaling, + χρησιμοποιώντας την επιλογή <option>-J</option>:</para> + + <screen>&prompt.root; newfs -J /dev/ad1s1d.journal</screen> + </sect2> + + <sect2 id="configure-kernel"> + <title>Ενσωμάτωση του journaling σε προσαρμοσμένο πυρήνα</title> + + <para>Αν δεν θέλετε να φορτώσετε το <literal>geom_journal</literal> ως + άρθρωμα, μπορείτε να ενσωματώσετε τις λειτουργίες του στον + προσαρμοσμένο πυρήνα σας. Επεξεργαστείτε το αρχείο ρυθμίσεων του + πυρήνα, και βεβαιωθείτε ότι περιλαμβάνει τις ακόλουθες δύο + γραμμές:</para> + + <programlisting>options UFS_GJOURNAL # Σημείωση: η επιλογή αυτή υπάρχει στο GENERIC + +options GEOM_JOURNAL # Θα πρέπει να προσθέσετε αυτή τη γραμμή</programlisting> + + <para>Μεταγλωττίστε και επανεγκαταστήστε τον πυρήνα σας χρησιμοποιώντας + τις σχετικές + <ulink url="&url.books.handbook;/kernelconfig.html">οδηγίες στο Εγχειρίδιο του &os;.</ulink></para> + + <para>Μην ξεχάσετε να αφαιρέσετε την αντίστοιχη καταχώρηση + <quote>load</quote> από το αρχείο + <filename>/boot/loader.conf</filename> αν την είχατε χρησιμοποιήσει + προηγουμένως.</para> + </sect2> + </sect1> + + <sect1 id="troubleshooting-gjournal"> + <title>Αντιμετώπιση προβλημάτων</title> + + <para>Το ακόλουθο τμήμα καλύπτει συχνές ερωτήσεις σχετικά με προβλήματα + που μπορείτε να συναντήσετε στην υλοποίηση του jounaling.</para> + + <qandaset> + <qandaentry> + <question id="kernel-panic"> + <para>Κατά τη διάρκεια έντονης χρήσης του δίσκου, το σύστημα μου + σταματάει με kernel panic. Υπάρχει περίπτωση αυτό να σχετίζεται + με το journaling;</para> + </question> + + <answer> + <para>Είναι πιθανό το ημερολόγιο να γεμίζει πριν προλάβουν τα + προηγούμενα δεδομένα του να μεταφερθούν στο σύστημα αρχείων. Θα + πρέπει να θυμάστε ότι το μέγεθος του ημερολογίου δεν εξαρτάται + από το μέγεθος του παροχέα δεδομένων, αλλά από το φόρτο εργασίας + του. Αν η δραστηριότητα του δίσκου σας είναι υψηλή, θα + χρειαστείτε μεγαλύτερο μέγεθος για την κατάτμηση του + ημερολογίου.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="unable-boot"> + <para>Έκανα κάποιο λάθος στις ρυθμίσεις, και δεν μπορώ πλέον να + ξεκινήσω κανονικά το σύστημα μου. Υπάρχει τρόπος να το + διορθώσω;</para> + </question> + + <answer> + <para>Πιθανόν ξεχάσατε να προσθέσετε (ή έχετε κάνει λάθος) την + καταχώρηση στο <filename>/boot/loader.conf</filename>, ή ίσως + υπάρχει λάθος στο αρχείο <filename>/etc/fstab</filename>. Τα + λάθη αυτά συνήθως διορθώνονται εύκολα. Πιέστε enter για να + ξεκινήσετε το προεπιλεγμένο κέλυφος λειτουργίας ενός χρήστη. Μετά + εντοπίστε την πηγή του προβλήματος:</para> + + <screen>&prompt.root; cat /boot/loader.conf</screen> + + <para>Αν λείπει ή υπάρχει λάθος στην καταχώρηση + <literal>geom_journal_load</literal>, οι αντίστοιχες συσκευές + δεν δημιουργούνται καν. Μπορείτε να φορτώσετε το άρθρωμα + χειροκίνητα, να προσαρτήσετε όλες τις κατατμήσεις, και να + συνεχίσετε με την κανονική εκκίνηση:</para> + + <screen>&prompt.root; gjournal load + +GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal. +GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal. +GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data. +GEOM_JOURNAL: Journal ad0s1d clean. +GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data. +GEOM_JOURNAL: Journal ad0s1f clean. + +&prompt.root; mount -a +&prompt.root; exit +(η εκκίνηση συνεχίζεται)</screen> + + <para>Αν ωστόσο η καταχώρηση αυτή είναι σωστή, ρίξτε μια ματιά + στο αρχείο <filename>/etc/fstab</filename>. Το πιο πιθανό είναι + να βρείτε ότι κάποια καταχώρηση λείπει, ή είναι λάθος. + Στην περίπτωση αυτή, προσαρτήστε χειροκίνητα όλες τις κατατμήσεις + και συνεχίστε την εκκίνηση κανονικά.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="remove-journaling"> + <para>Μπορώ να καταργήσω το journaling και να επιστρέψω στο + κανονικό σύστημα αρχείων με τα soft updates;</para> + </question> + + <answer> + <para>Βέβαια. Χρησιμοποιήστε την ακόλουθη διαδικασία η οποία + αναιρεί τις αλλαγές. Μπορείτε έπειτα να χρησιμοποιήσετε τις + κατατμήσεις των ημερολογίων για άλλο σκοπό, εφόσον το + επιθυμείτε.</para> + + <para>Εισέλθετε ως root και μεταβείτε σε κατάσταση ενός + χρήστη:</para> + + <screen>&prompt.root; shutdown now</screen> + + <para>Συγχρονίστε τα ημερολόγια:</para> + + <screen>&prompt.root; gjournal sync</screen> + + <para>Αποπροσαρτήστε τις κατατμήσεις που χρησιμοποιούν + journaling:</para> + + <screen>&prompt.root; umount /usr /var</screen> + + <para>Σταματήστε τους παροχείς ημερολογίου:</para> + + <screen>&prompt.root; gjournal stop ad0s1d.journal +&prompt.root; gjournal stop ad0s1f.journal</screen> + + <para>Διαγράψτε τα metadata του journaling από όλες τις συσκευές + που χρησιμοποιήσατε:</para> + + <screen>&prompt.root; gjournal clear ad0s1d +&prompt.root; gjournal clear ad0s1f +&prompt.root; gjournal clear ad0s1g +&prompt.root; gjournal clear ad0s1h</screen> + + <para>Αναιρέστε την επιλογή του journaling, και θέστε ξανά την + επιλογή για soft updates:</para> + + <screen>&prompt.root; tunefs -J disable -n enable ad0s1d + +tunefs: gjournal cleared +tunefs: soft updates set + +&prompt.root; tunefs-J disable -n enable ad0s1f + +tunefs: gjournal cleared +tunefs: soft updates set</screen> + + <para>Προσαρτήστε χειροκίνητα τις κανονικές κατατμήσεις:</para> + + <screen>&prompt.root; mount -o rw /dev/ad0s1d /var +&prompt.root; mount -o rw /dev/ad0s1f /usr</screen> + + <para>Επεξεργαστείτε το <filename>/etc/fstab</filename> και + επαναφέρατε τις προηγούμενες ρυθμίσεις:</para> + + <programlisting>/dev/ad0s1f /usr ufs rw 2 2 +/dev/ad0s1d /var ufs rw 2 2</programlisting> + + <para>Τέλος, επεξεργαστείτε το αρχείο + <filename>/boot/loader.conf</filename>, αφαιρέστε την καταχώρηση + που φορτώνει το άρθρωμα <literal>geom_journal</literal> και + επανεκκινήστε το σύστημα σας.</para> + + </answer> + </qandaentry> + </qandaset> + </sect1> + + <sect1 id="further-reading"> + <title>Επιπλέον πληροφορίες</title> + + <para>Το journaling είναι μια σχετικά νέα δυνατότητα του &os;, και έτσι + δεν είναι ακόμα καλά τεκμηριωμένη. Ίσως όμως να βρείτε χρήσιμες + πληροφορίες στις παρακάτω αναφορές:</para> + + <itemizedlist> + <listitem> + <para>Υπάρχει ένα <ulink url="&url.books.handbook;/geom-gjournal.html">νέο τμήμα για το journaling</ulink> + στο Εγχειρίδιο του &os;.</para> + </listitem> + + <listitem> + <para><ulink url="http://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043.html">Αυτή η δημοσίευση</ulink> στη λίστα + &a.current.name; από τον δημιουργό του &man.gjournal.8;, &a.pjd;.</para> + </listitem> + + <listitem> + <para><ulink url="http://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501.html">Αυτή η δημοσίευση</ulink> στη λίστα + &a.questions.name; από τον Ivan Voras.</para> + </listitem> + + <listitem> + <para>Οι σελίδες manual του &man.gjournal.8; και &man.geom.8;.</para> + </listitem> + </itemizedlist> + </sect1> +</article> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + fill-column: 78 + indent-tabs-mode: nil + End: +--> |