diff --git a/el_GR.ISO8859-7/books/handbook/dtrace/chapter.sgml b/el_GR.ISO8859-7/books/handbook/dtrace/chapter.sgml
index a522c91010..116a48dd16 100644
--- a/el_GR.ISO8859-7/books/handbook/dtrace/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/dtrace/chapter.sgml
@@ -1,397 +1,410 @@
TomRhodesΓράφηκε από τον DTraceΣύνοψηDTraceDTrace supportDTraceΤο DTrace, γνωστό επίσης ως Dynamic Tracing, είναι ένα εργαλείο το
οποίο αναπτύχθηκε από την &sun; για τον εντοπισμό προβλημάτων απόδοσης
σε συστήματα που πρόκειται να χρησιμοποιηθούν ή χρησιμοποιούνται ήδη
στην παραγωγή. Δεν πρόκειται για εργαλείο αποσφαλμάτωσης, αλλά για
εργαλείο ανάλυσης πραγματικού χρόνου, με το οποίο μπορούν να
εντοπιστούν προβλήματα απόδοσης και άλλες καταστάσεις.Το DTrace είναι ένα θαυμάσιο εργαλείο profiling και διαθέτει
εντυπωσιακό πλήθος χαρακτηριστικών για την διάγνωση προβλημάτων του
συστήματος. Μπορεί επίσης να χρησιμοποιηθεί για να εκτελέσει από πριν
έτοιμα scripts, με τα οποία μπορείτε να εκμεταλλευθείτε καλύτερα τις
δυνατότητες του. Οι χρήστες μπορούν ακόμα να γράψουν και τα δικά τους
βοηθητικά προγράμματα, χρησιμοποιώντας την Γλώσσα D που παρέχει το
DTrace, και να προσαρμόσουν με αυτό τον τρόπο το profiling στις δικές
τους ανάγκες.Αφού διαβάσετε αυτό το κεφάλαιο, θα γνωρίζετε:Τι είναι το DTrace και τι δυνατότητες παρέχει.Τις διαφορές υλοποίησης μεταξύ του DTrace του &solaris; και
του &os;.Πως να ενεργοποιήσετε και να χρησιμοποιήσετε το DTrace
στο &os;.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να κατανοείτε βασικές έννοιες του &unix; και του &os;
().Να είστε εξοικειωμένος με τις βασικές διαδικασίες ρύθμισης και
μεταγλώττισης προσαρμοσμένου πυρήνα
().Να είστε εξοικειωμένος με την ασφάλεια και τον τρόπο που αυτή
σχετίζεται με το &os; ().Να κατανοείτε πως μπορείτε να ανακτήσετε τον πηγαίο κώδικα του
&os; και να τον χρησιμοποιήσετε ώστε να επαναμεταγλωττίσετε το
σύστημα σας ().Τη δεδομένη στιγμή, το DTrace θεωρείται ότι είναι σε πειραματικό
στάδιο. Ορισμένες επιλογές μπορεί να υπολείπονται σε λειτουργικότητα,
και κάποια τμήματα ίσως να μη λειτουργούν καθόλου. Με την πάροδο του
χρόνου, οι παραπάνω δυνατότητες θα θεωρηθούν έτοιμες για χρήση σε
μηχανήματα παραγωγής, και η παρούσα τεκμηρίωση θα ανανεωθεί ώστε να
αντιπροσωπεύει αυτή την κατάσταση.
- Implementation Differences
-
- While the DTrace in &os; is very similar to that found
- in &solaris;, differences exist that should be explained before
- continuing. The primary difference users will notice is that
- on &os;, DTrace needs to be specifically enabled. There are
- kernel options and modules which must be enabled for DTrace to
- work properly. These will be explained later.
-
- There is a DDB_CTF kernel option which
- is used to enable support for loading the CTF
- data from kernel modules and the kernel itself.
- CTF is the &solaris; Compressed C Type format
- which encapsulates a reduced form of debugging information
- similar to DWARF and the venerable stabs.
- This CTF data is added to the binaries by the
- ctfconvert and ctfmerge
- build tools. The ctfconvert utility parses
- DWARF debug ELF sections
- created by the compiler and ctfmerge merges
- CTF ELF sections from
- objects into either executables or shared libraries. More on
- how to enable this for the kernel and &os; build is
- forthcoming.
-
- Some different providers exist for &os; than for &solaris;.
- Most notable is the dtmalloc provider, which
- allows tracing malloc() by type in the
- &os; kernel.
-
- Only root may use DTrace on &os;.
- This is related to security differences, &solaris; has a few
- low level security checks which do not yet exist in &os;. As
- such, the /dev/dtrace/dtrace is strictly
- limited to root users only.
-
- Finally, the DTrace software falls under &sun;'s
- CDDL license. The Common Development
- and Distribution License comes with &os;, see the
+ Διαφορές στην Υλοποίηση
+
+ Αν και το DTrace στο &os; είναι αρκετά όμοιο με αυτό του &solaris;,
+ υπάρχουν κάποιες διαφορές που θα πρέπει να τις εξηγήσουμε πριν
+ συνεχίσουμε. Η μεγαλύτερη διαφορά που θα παρατηρήσουν οι χρήστες,
+ είναι ότι στο &os; το DTrace πρέπει να ενεργοποιηθεί χειροκίνητα.
+ Υπάρχουν διάφορες επιλογές και αρθρώματα για τον πυρήνα που πρέπει να
+ ενεργοποιηθούν ώστε το DTrace να λειτουργεί σωστά. Θα εξηγήσουμε
+ αργότερα αυτές τις ρυθμίσεις.
+
+ Η επιλογή DDB_CTF του πυρήνα χρησιμοποιείται για
+ να ενεργοποιήσει την υποστήριξη φορτώματος των δεδομένων
+ CTF από τον πυρήνα και τα αρθρώματα του. Το
+ CTF είναι το Compact C Type format του &solaris;,
+ το οποίο ενθυλακώνει μια ελαττωμένη μορφή πληροφοριών αποσφαλμάτωσης
+ (debugging), όμοια με το DWARF και τα
+ stabs. Αυτά τα δεδομένα CTF προστίθενται στα
+ εκτελέσιμα μέσω των εργαλείων ctfconvert και
+ ctfmerge. Το βοηθητικό πρόγραμμα
+ ctfconvert ερμηνεύει τα τμήματα debug
+ DWARF τύπου ELF που δημιουργούνται
+ από το μεταγλωττιστή, και το ctfmerge συγχωνεύει τα
+ τμήματα CTF και ELF από τα
+ αντικείμενα σε άλλα εκτελέσιμα ή κοινόχρηστες βιβλιοθήκες.
+ Περισσότερες πληροφορίες για την ενεργοποίηση των παραπάνω στη
+ μεταγλώττιση του πυρήνα και του συστήματος του &os;, θα δούμε
+ παρακάτω.
+
+ Στο &os; κάποιοι παροχείς είναι διαφορετικοί σε σχέση με το
+ &solaris;. Ο πιο αξιοσημείωτος είναι ο παροχέας
+ dtmalloc ο οποίος επιτρέπει το tracing του
+ malloc() ανάλογα με τον τύπο του, στον πυρήνα του
+ &os;.
+
+ Μόνο ο root μπορεί να χρησιμοποιήσει το
+ DTrace στο &os;. Αυτό σχετίζεται με διαφορές στην ασφάλεια, καθώς το
+ &solaris; διαθέτει κάποιους ελέγχους ασφάλειας χαμηλού επιπέδου, οι
+ οποίοι δεν υπάρχουν ακόμα στο &os;. Για το λόγο αυτό, η χρήση της
+ συσκευής /dev/dtrace/dtrace απαγορεύεται
+ αυστηρά για όλους τους χρήστες εκτός από τον
+ root.
+
+ Τέλος, το λογισμικό DTrace βρίσκεται υπό την άδεια
+ CDDL της &sun;. Μπορείτε να διαβάσετε το κείμενο
+ της άδειας Common Development and Distribution
+ License στο &os;, στο αρχείο
/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
- or view it online at
-
- http://www.opensolaris.org/os/licensing.
-
- This license means that a &os; kernel with the DTrace options
- is still BSD licensed; however the
- CDDL kicks in when the modules are distributed
- in binary form, or the binaries are loaded.
+ ή να το διαβάσετε online στη διεύθυνση
+ http://www.opensolaris.org/os/licensing.
+
+ Η άδεια ουσιαστικά σημαίνει ότι ένας πυρήνας &os; με τις επιλογές
+ του DTrace, εξακολουθεί να βρίσκεται υπό την άδεια
+ BSD. Ωστόσο το CDDL εμπλέκεται
+ τη στιγμή που γίνεται διανομή των αρθρωμάτων σε δυαδική μορφή, ή τη
+ στιγμή που φορτώνονται.
- Enabling DTrace Support
+ Ενεργοποίηση της Υποστήριξης DTrace
- To enable support for DTrace, add the following lines to
- the kernel configuration file:
+ Για να ενεργοποιήσετε την υποστήριξη για το DTrace, προσθέστε τις
+ ακόλουθες γραμμές στο αρχείο ρυθμίσεων του πυρήνα:options KDTRACE_HOOKS
options DDB_CTF
- Users of the AMD64 architecture will want to add the
- following line to their kernel configuration file:
+ Οι χρήστες της αρχιτεκτονικής AMD64 θα θέλουν να προσθέσουν την
+ ακόλουθη γραμμή στο αρχείο ρυθμίσεων του πυρήνα τους:options KDTRACE_FRAME
- This option provides support for the FBT
- feature. DTrace will work without this option; however, there
- will be limited support for function boundary tracing.
-
+ Η επιλογή αυτή παρέχει υποστήριξη για τη λειτουργία
+ FBT. Το DTrace μπορεί να λειτουργήσει και χωρίς
+ αυτήν. Ωστόσο, θα παρέχει περιορισμένη υποστήριξη για
+ function boundary tracing.
+
- All sources must be rebuilt and installed with CTF options.
- To accomplish this task, rebuild the &os; sources using:
+ Όλος ο πηγαίος κώδικας θα πρέπει να μεταγλωττιστεί ξανά με τις
+ επιλογές CTF. Για να γίνει αυτό, μεταγλωττίστε
+ ξανά το &os; χρησιμοποιώντας:&prompt.root; cd /usr/src
- &prompt.root; make WITH_CTF=1 buildworld
- &prompt.root; make WITH_CFT=1 kernel
- &prompt.root; make WITH_CFT=1 installworld
- &prompt.root; mergemaster -Ui
-
- The system will need to be restarted.
-
- After rebooting and allowing the new kernel to be loaded
- into memory, support for the Korn shell should be added. This
- is needed as the DTrace toolkit has several utilities written
- in ksh. Install the
- shells/ksh93. It is also
- possible to run these tools under
- shells/pdksh or
+&prompt.root; make WITH_CTF=1 buildworld
+&prompt.root; make WITH_CFT=1 kernel
+&prompt.root; make WITH_CFT=1 installworld
+&prompt.root; mergemaster -Ui
+
+ Θα χρειαστεί να επανεκκινήσετε το σύστημα.
+
+ Μετά την επανεκκίνηση, και με τον νέο πυρήνα φορτωμένο πλέον στη
+ μνήμη, θα πρέπει να προσθέσετε υποστήριξη για το κέλυφος Korn. Αυτό
+ απαιτείται, καθώς τα εργαλεία DTrace περιλαμβάνουν διάφορα βοηθητικά
+ προγράμματα τα οποία είναι γραμμένα σε
+ ksh. Εγκαταστήστε το port
+ shells/ksh93. Μπορείτε επίσης να
+ εκτελέσετε αυτά τα εργαλεία και μέσω του
+ shells/pdksh ή του
shells/mksh.
- Finally, obtain the current DTrace toolkit. The current
- version is available at
-
- http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/.
- There is an install mechanism included; however, installation
- is not required to make use of the bundled utilities.
+ Τέλος, ανακτήστε την τρέχουσα σειρά εργαλείων DTrace. Η τελευταία
+ έκδοση διατίθεται στην τοποθεσία
+ .
+ Διατίθεται και πρόγραμμα εγκατάστασης, το οποίο δεν είναι ωστόσο
+ απαραίτητο να εκτελέσετε προκειμένου να χρησιμοποιήσετε τα
+ εργαλεία.
- Using DTrace
+ Χρησιμοποιώντας το DTrace
- Before making use of DTrace functionality, the DTrace device
- must exist. To load the device, issue the following
- command:
+ Πριν χρησιμοποιήσετε τις λειτουργίες του DTrace, θα πρέπει να
+ υπάρχει η αντίστοιχη συσκευή. Για να φορτώσετε τη συσκευή, θα πρέπει
+ να δώσετε την παρακάτω εντολή:&prompt.root; kldload dtraceall
- DTrace support should now be available. To view all probes
- the administrator may now execute the following command:
+ Θα πρέπει να έχετε πλέον υποστήριξη DTrace. Για να δείτε όλα τα
+ probes, θα πρέπει να εκτελέσετε ως διαχειριστής την παρακάτω
+ εντολή:&prompt.root; dtrace -l | more
- All output is passed to the more
- utility as it will quickly overflow the screen buffer. At
- this point, DTrace should be considered working. It is now
- time to review the toolkit.
+ Όλη η έξοδος περνάει μέσω του βοηθητικού προγράμματος
+ more, διαφορετικά γρήγορα θα υπερχείλιζε την
+ προσωρινή μνήμη της οθόνης. Στο σημείο αυτό, θα πρέπει να θεωρηθεί ότι
+ το DTrace λειτουργεί. Είναι πλέον ώρα να εξετάσουμε αυτή τη σειρά
+ εργαλείων.
- The toolkit is a collection of ready-made scripts to run
- with DTrace to collect system information. There are scripts
- to check open files, memory, CPU usage and
- a lot more. Extract the scripts with the following
- command:
+ Η σειρά των εργαλείων είναι μια συλλογή από έτοιμα scripts που
+ εκτελούνται με το DTrace ώστε να συλλέξουν πληροφορίες σχετικά με το
+ σύστημα. Υπάρχουν scripts που ελέγχουν για ανοικτά αρχεία, τη μνήμη,
+ τη χρήση της CPU και πολλά ακόμα. Κάντε εξαγωγή των
+ scripts με την ακόλουθη εντολή:&prompt.root; gunzip -c DTraceToolkit* | tar xvf -
- Change into that directory with the cd
- and change the execution permissions on all files, designated
- as those files with lower case names, to
+ Μετακινηθείτε στον κατάλογο που τα αποσυμπιέσατε με την εντολή
+ cd και αλλάξτε τα δικαιώματα εκτέλεσης σε όλα τα
+ αρχεία, όπως στα αρχεία με τα μικρά γράμματα, σε
755.
- All of these scripts will need modifications to their
- contents. The ones which refer to
- /usr/bin/ksh need that changed to
- /usr/local/bin/ksh, the others which
- use /usr/bin/sh need to be altered to use
- /bin/sh, and finally the ones which
- use /usr/bin/perl will need altered to
- use /usr/local/bin/perl.
+ Θα χρειαστεί να γίνουν αλλαγές στο περιεχόμενο σε όλα τα scripts.
+ Όσα περιέχουν το
+ /usr/bin/ksh θα πρέπει να αλλαχθούν σε
+ /usr/local/bin/ksh, τα άλλα που περιέχουν το
+ /usr/bin/sh θα πρέπει να αλλαχθούν σε
+ /bin/sh, και τέλος αυτά που περιέχουν το
+ /usr/bin/perl θα πρέπει να αλλαχθούν σε
+ /usr/local/bin/perl.
- At this point it is prudent to remind the reader that
- DTrace support in &os; is incomplete
- and experimental. Many of these scripts
- will not work as they are either too &solaris;-specific or
- use probes which are unsupported at this time.
+ Στο σημείο αυτό είναι σημαντικό να υπενθυμίσουμε στον αναγνώστη
+ ότι η υποστήριξη DTrace στο &os; είναι ατελής
+ και πειραματική. Πολλά από αυτά τα scripts δεν θα λειτουργήσουν,
+ καθώς είναι είτε πολύ προσανατολισμένα στο &solaris;, ή χρησιμοποιούν
+ probes τα οποία δεν υποστηρίζονται τη δεδομένη στιγμή.
- At the time of this writing only two of the scripts of the
- DTrace Toolkit are fully supported in &os;:
- the hotkernel
- and procsystime scripts. These are the two
- we will explore in the following parts of this section.
+ Τη στιγμή που γράφονται αυτές οι γραμμές, μόνο δύο scripts από τη
+ σειρά εργαλείων του DTrace υποστηρίζονται πλήρως στο &os;: το
+ hotkernel και το procsystime.
+ Αυτά τα δύο θα εξερευνήσουμε στα επόμενα τμήματα αυτής της
+ ενότητας.
- The hotkernel is designed to identify
- which function is using the most kernel time. Run normally, it
- will produce output similar to the following:
+ Το hotkernel έχει σχεδιαστεί να αναγνωρίζει
+ ποια συνάρτηση καταναλώνει το μεγαλύτερο χρόνο στον πυρήνα. Εκτελώντας
+ το υπό κανονικές συνθήκες, θα δείτε έξοδο παρόμοια με την
+ παρακάτω:&prompt.root; ./hotkernel
-localhost# ./hotkernel
Sampling... Hit Ctrl-C to end.
- The system administrator must use the
- CtrlC
- key combination to stop the process. Upon
- termination, the script will display a list of kernel functions and
- timing information, sorting the output in increasing order of
- time:
+ Ο διαχειριστής του συστήματος θα πρέπει να χρησιμοποιήσει το
+ συνδυασμό πλήκτρων CtrlC για
+ να σταματήσει τη διεργασία. Με τον τερματισμό του, το script θα
+ απεικονίσει μια σειρά από συναρτήσεις του πυρήνα και πληροφορίες σχετικά
+ με το χρόνο τους, ταξινομώντας τις σε αύξουσα σειρά ανάλογα με το
+ χρόνο:kernel`_thread_lock_flags 2 0.0%
0xc1097063 2 0.0%
kernel`sched_userret 2 0.0%
kernel`kern_select 2 0.0%
kernel`generic_copyin 3 0.0%
kernel`_mtx_assert 3 0.0%
kernel`vm_fault 3 0.0%
kernel`sopoll_generic 3 0.0%
kernel`fixup_filename 4 0.0%
kernel`_isitmyx 4 0.0%
kernel`find_instance 4 0.0%
kernel`_mtx_unlock_flags 5 0.0%
kernel`syscall 5 0.0%
kernel`DELAY 5 0.0%
0xc108a253 6 0.0%
kernel`witness_lock 7 0.0%
kernel`read_aux_data_no_wait 7 0.0%
kernel`Xint0x80_syscall 7 0.0%
kernel`witness_checkorder 7 0.0%
kernel`sse2_pagezero 8 0.0%
kernel`strncmp 9 0.0%
kernel`spinlock_exit 10 0.0%
kernel`_mtx_lock_flags 11 0.0%
kernel`witness_unlock 15 0.0%
kernel`sched_idletd 137 0.3%
0xc10981a5 42139 99.3%
- This script will also work with kernel modules. To use this
- feature, run the script with the flag:
+ Το script αυτό λειτουργεί επίσης με αρθρώματα του πυρήνα. Για να
+ χρησιμοποιήσετε αυτό το χαρακτηριστικό, εκτελέστε το με την επιλογή
+ :
- &prompt.root; ./hotkernel -m
-
- localhost# ./hotkernel -m
+ &prompt.root; ./hotkernel -m
Sampling... Hit Ctrl-C to end.
^C
MODULE COUNT PCNT
0xc107882e 1 0.0%
0xc10e6aa4 1 0.0%
0xc1076983 1 0.0%
0xc109708a 1 0.0%
0xc1075a5d 1 0.0%
0xc1077325 1 0.0%
0xc108a245 1 0.0%
0xc107730d 1 0.0%
0xc1097063 2 0.0%
0xc108a253 73 0.0%
kernel 874 0.4%
0xc10981a5 213781 99.6%
- The procsystime script captures and
- prints the system call time usage for a given
- PID or process name. In the following
- example, a new instance of /bin/csh
- was spawned. The procsystime was executed
- and remained waiting while a few commands were typed on the
- other incarnation of csh. These are the
- results of this test:
+ Το procsystime script συλλαμβάνει και τυπώνει
+ τον χρόνο των κλήσεων συστήματος για μια συγκεκριμένη διεργασία μέσω
+ του PID ή του ονόματος της. Στο παρακάτω παράδειγμα
+ έχουμε ξεκινήσει μια νέα διεργασία του /bin/csh.
+ Εκτελέσαμε το procsystime και το αφήσαμε στην
+ αναμονή καθώς γράφαμε μερικές εντολές στο csh που
+ είχαμε ανοίξει. Αυτά είναι τα αποτελέσματα της δοκιμής μας:&prompt.root; ./procsystime -n csh
Tracing... Hit Ctrl-C to end...
^C
Elapsed Times for processes csh,
SYSCALL TIME (ns)
getpid 6131
sigreturn 8121
close 19127
fcntl 19959
dup 26955
setpgid 28070
stat 31899
setitimer 40938
wait4 62717
sigaction 67372
sigprocmask 119091
gettimeofday 183710
write 263242
execve 492547
ioctl 770073
vfork 3258923
sigsuspend 6985124
read 3988049784
- As shown, the read system call seems to use the
- most time in nanoseconds with the getpid()
- system call used the least amount of time.
+ Όπως φαίνεται, η κλήση του συστήματος για ανάγνωση
+ (read()) είναι αυτή που καταναλώνει τον
+ περισσότερο χρόνο σε νανοδευτερόλεπτα, ενώ το λιγότερο τον καταναλώνει
+ η κλήση συστήματος getpid().
- The D Language
-
- The DTrace Toolkit includes many scripts in the special language of
- DTrace. This language is called the D language by &sun;
- documentation, and it is very similar to C++. An in depth
- discussion of the language is beyond the scope of this document. It is
- extensively discussed
- at .
+ Η Γλώσσα D
+
+ Η σειρά εργαλείων DTrace, περιλαμβάνει αρκετά scripts γραμμένα στην
+ ειδική γλώσσα του DTrace. Η γλώσσα αυτή ονομάζεται
+ η γλώσσα D στην τεκμηρίωση της &sun;, και είναι αρκετά
+ όμοια με τη C++. Αναλυτική περιγραφή αυτής της γλώσσας είναι πέρα από
+ τους σκοπούς αυτού του κειμένου. Υπάρχει ενεργή συζήτηση σχετικά με
+ αυτή, στη διεύθυνση .
diff --git a/el_GR.ISO8859-7/books/handbook/filesystems/chapter.sgml b/el_GR.ISO8859-7/books/handbook/filesystems/chapter.sgml
index 18d6e92a6d..5dd0bcd09d 100644
--- a/el_GR.ISO8859-7/books/handbook/filesystems/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/filesystems/chapter.sgml
@@ -1,630 +1,662 @@
TomRhodesΓράφηκε από τον Υποστήριξη Συστημάτων ΑρχείωνΣύνοψηFile SystemsFile Systems SupportFile SystemsΤα συστήματα αρχείων αποτελούν αναπόσπαστο τμήμα κάθε λειτουργικού
συστήματος. Επιτρέπουν στους χρήστες να δημιουργούν και να αποθηκεύουν
αρχεία, παρέχουν πρόσβαση σε δεδομένα, και φυσικά αξιοποιούν τους
σκληρούς δίσκους. Διαφορετικά λειτουργικά συστήματα χρησιμοποιούν
συνήθως διαφορετικά εγγενή συστήματα αρχείων. Το σύστημα αρχείων του
&os; είναι το Fast File System ή FFS, το
οποίο προήλθε από το αρχικό σύστημα αρχείων του Unix™, γνωστό
επίσης και ως UFS. Αυτό είναι και το εγγενές
σύστημα αρχείων του &os;, το οποίο χρησιμοποιείται στους σκληρούς
δίσκους και προσφέρει πρόσβαση στα δεδομένα.Το &os; προσφέρει επίσης πληθώρα διαφορετικών συστημάτων αρχείων,
ώστε να παρέχει τοπική πρόσβαση σε δεδομένα που έχουν δημιουργηθεί από
άλλα λειτουργικά συστήματα, π.χ. δεδομένα που βρίσκονται σε τοπικά
USB αποθηκευτικά μέσα, οδηγούς flash, και σκληρούς
δίσκους. Υπάρχει επίσης υποστήριξη για άλλα, μη-εγγενή συστήματα
- αρχείων, όπως το το Extended File System (EXT) του
+ αρχείων, όπως το Extended File System (EXT) του
&linux; καθώς και το σύστημα Z File System (ZFS) της
&sun;.Το &os; παρέχει διαφορετικό επίπεδο υποστήριξης για κάθε σύστημα
αρχείων. Για ορισμένα θα χρειαστεί να φορτωθεί κάποιο άρθρωμα στον
πυρήνα, ενώ για άλλα θα πρέπει να εγκατασταθούν κάποια εργαλεία.
Το κεφάλαιο αυτό έχει σχεδιαστεί να βοηθήσει τους χρήστες του &os; να
αποκτήσουν πρόσβαση σε άλλα συστήματα αρχείων στο σύστημα τους,
ξεκινώντας από το Ζ File System της &sun;.Αφού διαβάσετε αυτό το κεφάλαιο, θα γνωρίζετε:Τη διαφορά μεταξύ των εγγενών και των υποστηριζόμενων
συστημάτων αρχείων.Ποια συστήματα αρχείων υποστηρίζονται από το &os;.Πως να ενεργοποιήσετε, να ρυθμίσετε, να αποκτήσετε πρόσβαση και
να χρησιμοποιήσετε μη-εγγενή συστήματα αρχείων.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να κατανοείτε βασικές έννοιες του &unix; και του &os;
().Να είστε εξοικειωμένος με τις βασικές διαδικασίες ρύθμισης και
εγκατάστασης προσαρμοσμένου πυρήνα
().Να αισθάνεστε άνετα με την εγκατάσταση εφαρμογών τρίτου
κατασκευαστή στο &os; ().Να είστε εξοικειωμένος με τους δίσκους, τα μέσα
αποθήκευσης, και τα αντίστοιχα ονόματα συσκευών στο
&os; ().Τη δεδομένη στιγμή, το ZFS θεωρείται
δοκιμαστική δυνατότητα. Μερικές επιλογές μπορεί να υπολείπονται
λειτουργικότητας, και άλλες μπορεί να μη λειτουργούν καθόλου. Με
την πάροδο του χρόνου, η δυνατότητα αυτή θα θεωρηθεί έτοιμη για χρήση
σε περιβάλλοντα παραγωγής, και η παρούσα τεκμηρίωση θα ανανεωθεί ώστε
να αντιπροσωπεύει αυτή την κατάσταση.
- The Z File System
-
- The Z file system, developed by &sun;, is a new
- technology designed to use a pooled storage method. This means
- that space is only used as it is needed for data storage. It
- has also been designed for maximum data integrity, supporting
- data snapshots, multiple copies, and data checksums. A new
- data replication model, known as RAID-Z has
- been added. The RAID-Z model is similar
- to RAID5 but is designed to prevent data
- write corruption.
+ Το Σύστημα Αρχείων Z
+
+ Το σύστημα αρχείων Z, αναπτύχθηκε από την &sun;, και είναι μια νέα
+ τεχνολογία που σχεδιάστηκε για να παρέχει αποθήκευση μέσω της μεθόδου
+ pool. Αυτό σημαίνει ότι όλος ο ελεύθερος χώρος διατίθεται ως
+ απόθεμα, και διανέμεται δυναμικά σε κάθε σύστημα αρχείων ανάλογα με τις
+ ανάγκες αποθήκευσης δεδομένων. Έχει επίσης σχεδιαστεί για τη μέγιστη
+ ακεραιότητα δεδομένων και υποστηρίζει στιγμιότυπα (snapshots) δεδομένων,
+ πολλαπλά αντίγραφα και αθροίσματα ελέγχου δεδομένων (checksums). Έχει
+ ακόμα προστεθεί ένα νέο μοντέλο για τη διατήρηση αντιγράφων των
+ δεδομένων, γνωστό ως RAID-Z. Το μοντέλο
+ RAID-Z είναι παρόμοιο με το
+ RAID5 αλλά είναι σχεδιασμένο να παρέχει προστασία
+ των δεδομένων κατά την εγγραφή τους.
- ZFS Tuning
+ Βελτιστοποίηση του ZFS
- The ZFS subsystem utilizes much of
- the system resources, so some tuning may be required to provide
- maximum efficiency during every-day use. As an experimental
- feature in &os; this may change in the near future; however,
- at this time, the following steps are recommended.
+ Το υποσύστημα ZFS χρησιμοποιεί αρκετούς πόρους
+ του συστήματος. Βελτιστοποιώντας τις ρυθμίσεις του συστήματος σας, θα
+ επιτύχετε τη μέγιστη απόδοση στην καθημερινή χρήση. Καθώς το
+ ZFS είναι ακόμα σε πειραματικό στάδιο στο &os;,
+ αυτό ίσως αλλάξει μελλοντικά. Ωστόσο, για την ώρα, συνίσταται να
+ ακολουθήσετε τα παρακάτω βήματα:
- Memory
-
- The total system memory should be at least one gigabyte,
- with two gigabytes or more recommended. In all of the
- examples here, the system has one gigabyte of memory with
- several other tuning mechanisms in place.
-
- Some people have had luck using fewer than one gigabyte
- of memory, but with such a limited amount of physical memory,
- when the system is under heavy load, it is very plausible
- that &os; will panic due to memory exhaustion.
+ Μνήμη
+
+ Το συνολικό μέγεθος μνήμης του συστήματος πρέπει να είναι
+ τουλάχιστον ένα gigabyte, ενώ το συνιστώμενο μέγεθος είναι δύο
+ gigabytes ή και περισσότερο. Σε όλα τα παραδείγματα που φαίνονται
+ εδώ, το σύστημα έχει ένα gigabyte μνήμης και έχουμε επίσης
+ βελτιστοποιήσει τις ρυθμίσεις του.
+
+ Ορισμένοι χρήστες φαίνεται να τα καταφέρνουν και με λιγότερο
+ από ένα gigabyte μνήμης, αλλά με τέτοιους περιορισμούς φυσικής
+ μνήμης, είναι αρκετά πιθανό να δημιουργηθεί panic κάτω από βαρύ
+ φορτίο εργασίας, εξαιτίας εξάντλησης της.
- Kernel Configuration
+ Ρύθμιση του Πυρήνα
- It is recommended that unused drivers and options
- be removed from the kernel configuration file. Since most
- devices are available as modules, they may simply be loaded
- using the /boot/loader.conf file.
+ Συνίσταται να αφαιρέσετε τα προγράμματα οδήγησης και τις
+ επιλογές που δεν χρησιμοποιείτε από το αρχείο ρυθμίσεων του
+ πυρήνα. Καθώς οι περισσότεροι οδηγοί συσκευών διατίθενται επίσης
+ και σε μορφή αρθρωμάτων, μπορείτε απλά να τους φορτώσετε
+ χρησιμοποιώντας το αρχείο
+ /boot/loader.conf.
- Users of the i386 architecture should add the following
- option to their kernel configuration file, rebuild their
- kernel, and reboot:
+ Οι χρήστες της αρχιτεκτονικής i386 θα πρέπει να προσθέσουν την
+ παρακάτω επιλογή στο αρχείο ρυθμίσεων του πυρήνα τους, να τον
+ επαναμεταγλωττίσουν και να επανεκκινήσουν το σύστημα τους:options KVA_PAGES=512
- This option will expand the kernel address space, thus
- allowing the vm.kvm_size tunable to be
- pushed beyond the currently imposed limit of 1 GB
- (2 GB for PAE). To find the most
- suitable value for this option, divide the desired address
- space in megabytes by four (4). In this case, it is
- 512 for 2 GB.
+ Η επιλογή αυτή θα διευρύνει την περιοχή διευθύνσεων του πυρήνα,
+ επιτρέποντας έτσι την αύξηση τιμής της ρυθμιστικής μεταβλητής
+ vm.kvm_size πέρα από το τρέχον όριο του
+ 1 GB (2 GB για πυρήνες PAE). Για να
+ βρείτε την καταλληλότερη τιμή για αυτή την επιλογή, διαιρέστε το
+ επιθυμητό μέγεθος της περιοχής διευθύνσεων με το τέσσερα (4). Στην
+ περίπτωση αυτή, έχουμε 512 για μέγεθος
+ 2 GB.
- Loader Tunables
+ Ρυθμίσεις στις Μεταβλητές του Loader
- The kmem address space should be
- increased on all &os; architectures. On the test system with
- one gigabyte of physical memory, success was achieved with the
- following options which should be placed in
- the /boot/loader.conf file and the system
- restarted:
+ Θα πρέπει να αυξηθεί η περιοχή διευθύνσεων
+ kmem σε όλες τις αρχιτεκτονικές του &os;.
+ Στο δοκιμαστικό μας σύστημα, με ένα gigabyte φυσικής μνήμης,
+ είχαμε επιτυχημένο αποτέλεσμα χρησιμοποιώντας τις ακόλουθες
+ επιλογές στο αρχείο /boot/loader.conf και
+ επανεκκινώντας το σύστημα μας:vm.kmem_slze="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"
- For a more detailed list of recommendations for ZFS-related
- tuning, see
- .
+ Για αναλυτικότερες ρυθμίσεις σχετικά με την βελτιστοποίηση του
+ ZFS, δείτε το .
- Using ZFS
+ Χρησιμοποιώντας το ZFS
- There is a start up mechanism that allows &os; to
- mount ZFS pools during system
- initialization. To set it, issue the following
- commands:
+ Υπάρχει ένας μηχανισμός εκκίνησης που επιτρέπει στο &os; να
+ προσαρτήσει ZFS pools κατά τη διάρκεια της
+ εκκίνησης του συστήματος. Για να τον ρυθμίσετε, εκτελέστε τις
+ ακόλουθες εντολές:
- &prompt.root; echo 'zfs_enable="YES"' >> /etc/rc.conf
+ &prompt.root; echo 'zfs_enable="YES"' >> /etc/rc.conf
&prompt.root; /etc/rc.d/zfs start
- The remainder of this document assumes two
- SCSI disks are available, and their device names
- are da0
- and da1
- respectively. Users of IDE hardware may
- use the ad
- devices in place of SCSI hardware.
+ Το υπόλοιπο αυτού του κειμένου υποθέτει ότι έχετε διαθέσιμους
+ δύο SCSI δίσκους, και ότι τα ονόματα συσκευών
+ τους είναι da0
+ και da1
+ αντίστοιχα. Όσοι χρησιμοποιούν δίσκους IDE θα
+ πρέπει να χρησιμοποιήσουν συσκευές του τύπου
+ ad
+ αντί για τις αντίστοιχες SCSI.
- Single Disk Pool
+ Pool με Ένα Μόνο Δίσκο
- To create a ZFS over a single disk
- device, use the zpool command:
+ Για την δημιουργία ZFS σε ένα μόνο δίσκο,
+ χρησιμοποιήστε την εντολή zpool:&prompt.root; zpool create example /dev/da0
- To view the new pool, review the output of the
+ Για να δείτε το νέο pool, εξετάστε την έξοδο της εντολής
df:&prompt.root; df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235230 1628718 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032846 48737598 2% /usr
example 17547136 0 17547136 0% /example
- This output clearly shows the example
- pool has not only been created but
- mounted as well. It is also accessible
- just like a normal file system, files may be created on it
- and users are able to browse it as in the
- following example:
+ Η έξοδος αυτή δείχνει καθαρά ότι το example
+ pool όχι μόνο έχει δημιουργηθεί, αλλά έχει επίσης
+ προσαρτηθεί κιόλας. Είναι επίσης διαθέσιμο ως
+ κανονικό σύστημα αρχείων, μπορείτε να δημιουργήσετε αρχεία σε αυτό,
+ και άλλοι χρήστες μπορούν επίσης να το δουν, όπως φαίνεται στο
+ παρακάτω παράδειγμα:&prompt.root cd /example
&prompt.root; ls
&prompt.root; touch testfile
&prompt.root; ls -al
total 4
drwxr-xr-x 2 root wheel 3 Aug 29 23:15 .
drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
-rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile
- Unfortunately this pool is not taking advantage of
- any ZFS features. Create a file system
- on this pool, and enable compression on it:
+ Δυστυχώς αυτό το pool δεν χρησιμοποιεί κάποιο από τα
+ πλεονεκτήματα του ZFS. Δημιουργήστε ένα σύστημα
+ αρχείων σε αυτό το pool και ενεργοποιήστε σε αυτό τη
+ συμπίεση:&prompt.root; zfs create example/compressed
&prompt.root; zfs set compression=gzip example/compressed
- The example/compressed is now a
- ZFS compressed file system. Try copying
- some large files to it by copying them to
+ Το σύστημα αρχείων example/compressed
+ είναι πλέον ένα συμπιεσμένο ZFS σύστημα.
+ Δοκιμάστε να αντιγράψετε μερικά μεγάλα αρχεία σε αυτό, απευθείας
+ στον κατάλογο
/example/compressed.
- The compression may now be disabled with:
+ Μπορείτε τώρα να απενεργοποιήσετε τη συμπίεση γράφοντας:&prompt.root; zfs set compression=off example/compressed
- To unmount the file system, issue the following command
- and then verify by using the df
- utility:
+ Για να αποπροσαρτήσετε το σύστημα αρχείων, εκτελέστε την
+ ακόλουθη εντολή και επαληθεύστε το αποτέλεσμα μέσω του βοηθητικού
+ προγράμματος df:&prompt.root; zfs umount example/compressed
&prompt.root; df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235232 1628716 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
example 17547008 0 17547008 0% /example
- Re-mount the file system to make it accessible
- again, and verify with df:
+ Προσαρτήστε ξανά το σύστημα αρχείων, ώστε να είναι και πάλι
+ προσβάσιμο, και επαληθεύστε το χρησιμοποιώντας όπως και πριν, την
+ εντολή df:&prompt.root; zfs mount example/compressed
&prompt.root; df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235234 1628714 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
example 17547008 0 17547008 0% /example
example/compressed 17547008 0 17547008 0% /example/compressed
- The pool and file system may also be observed by viewing
- the output from mount:
+ Μπορείτε επίσης να δείτε το pool και το σύστημα αρχείων
+ εξετάζοντας την έξοδο της εντολής mount:&prompt.root; mount
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1d on /usr (ufs, local, soft-updates)
example on /example (zfs, local)
example/data on /example/data (zfs, local)
example/compressed on /example/compressed (zfs, local)
- As observed, ZFS file systems, after
- creation, may be used like ordinary file systems; however,
- many other features are also available. In the following
- example, a new file system, data is
- created. Important files will be stored here, so the file
- system is set to keep two copies of each data block:
+ Όπως παρατηρούμε, το σύστημα αρχείων ZFS
+ μπορεί να χρησιμοποιηθεί ως κοινό σύστημα αρχείων μετά τη
+ δημιουργία του. Ωστόσο, διαθέτει πολλές ακόμα λειτουργίες. Στο
+ παρακάτω παράδειγμα δημιουργούμε ένα νέο σύστημα αρχείων, το
+ data. θα αποθηκεύσουμε σημαντικά δεδομένα σε
+ αυτό, και έτσι το ρυθμίζουμε ώστε να κρατάει δύο αντίγραφα από
+ κάθε μπλοκ δεδομένων:&prompt.root; zfs create example/data
&prompt.root; zfs set copies=2 example/data
- It is now possible to see the data and space utilization
- by issuing the df again:
+ Μπορούμε τώρα να δούμε τα δεδομένα και την κατανάλωση χώρου
+ δίνοντας ξανά την εντολή df:&prompt.root; df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235234 1628714 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
example 17547008 0 17547008 0% /example
example/compressed 17547008 0 17547008 0% /example/compressed
example/data 17547008 0 17547008 0% /example/data
- Notice that each file system on the pool has the same
- amount of available space. This is the reason for using
- the df through these examples, to show
- that the file systems are using only the amount of space
- they need and will all draw from the same pool.
- The ZFS file system does away with concepts
- such as volumes and partitions, and allows for several file
- systems to occupy the same pool. Destroy the file systems,
- and then destroy the pool as they are no longer
- needed:
+ Παρατηρήστε ότι κάθε σύστημα αρχείων στο pool δείχνει το ίδιο
+ μέγεθος διαθέσιμου χώρου. Αυτός είναι και ο λόγος που
+ χρησιμοποιούμε την εντολή df σε όλα τα
+ παραδείγματα, για να δείξουμε ότι τα συστήματα αρχείων
+ χρησιμοποιούν μόνο το χώρο που χρειάζονται και ότι όλα μοιράζονται
+ τον ίδιο χώρο (το κοινόχρηστο απόθεμα — pool). Στο σύστημα
+ αρχείων ZFS έννοιες όπως οι τόμοι (volumes) και
+ οι κατατμήσεις (partitions) δεν έχουν νόημα. Αντίθετα, πολλά
+ συστήματα αρχείων μοιράζονται τον ίδιο χώρο, το pool. Μπορείτε να
+ καταργήσετε το σύστημα αρχείων και κατόπιν το ίδιο το pool όταν
+ δεν τα χρειάζεστε πλέον:&prompt.root; zfs destroy example/compressed
&prompt.root; zfs destroy example/data
&prompt.root; zpool destroy example
- Disks go bad and fail, an unavoidable trait. When
- this disk goes bad, the data will be lost. One method of
- avoiding data loss due to a failed hard disk is to implement
- a RAID. ZFS supports
- this feature in its pool design which is covered in
- the next section.
+ Οι σκληροί δίσκοι με τον καιρό χαλάνε, είναι αναπόφευκτο.
+ Όταν ένας δίσκος χαλάσει, τα δεδομένα του χάνονται. Μια μέθοδος
+ για να αποφύγουμε την απώλεια δεδομένων εξαιτίας ενός χαλασμένου
+ δίσκου είναι να δημιουργήσουμε μια συστοιχία
+ RAID. Τα pools του ZFS έχουν
+ σχεδιασθεί ώστε να υποστηρίζουν αυτό το χαρακτηριστικό.
+ Η λειτουργία αυτή αναλύεται στην επόμενη ενότητα.ZFS RAID-Z
- As previously noted, this section will assume that
- two SCSI exists as devices
- da0 and
- da1. To create a
- RAID-Z pool, issue the following
- command:
+ Όπως αναφέραμε προηγουμένως, η ενότητα αυτή προϋποθέτει ότι
+ χρησιμοποιούμε δύο συσκευές
+ SCSI με ονόματα συσκευών
+ da0 και
+ da1. Για να δημιουργήσουμε ένα pool τύπου
+ RAID-Z, εκτελούμε την ακόλουθη εντολή:&prompt.root; zpool create storage raidz da0 da1
- The storage zpool should have been
- created. This may be verified by using the &man.mount.8; and
- &man.df.1; commands as before. More disk devices may have
- been allocated by adding them to the end of the list above.
- Make a new file system in the pool, called
- home where user files will eventually be
- placed:
+ Θα δημιουργηθεί το storage zpool. Μπορείτε
+ να επαληθεύσετε το αποτέλεσμα χρησιμοποιώντας, όπως και
+ προηγουμένως, τις εντολές &man.mount.8; και &man.df.1;. Θα
+ μπορούσαμε να χρησιμοποιήσουμε περισσότερους δίσκους, προσθέτοντας
+ τα ονόματα συσκευών τους στο τέλος της παραπάνω λίστας.
+ Δημιουργήστε ένα νέο σύστημα αρχείων στο pool, το οποίο θα
+ ονομάζεται home και όπου θα αποθηκεύονται τελικά
+ τα αρχεία των χρηστών:&prompt.root; zfs create storage/home
- It is now possible to enable compression and keep extra
- copies of the user's home directories and files. This may
- be accomplished just as before using the following
- commands:
+ Μπορούμε τώρα να ενεργοποιήσουμε την συμπίεση και να κρατάμε
+ επιπλέον αντίγραφα των καταλόγων και των δεδομένων των χρηστών.
+ Όπως και προηγουμένως, μπορούμε να το επιτύχουμε χρησιμοποιώντας
+ τις παρακάτω εντολές:&prompt.root; zfs set copies=2 storage/home
&prompt.root; zfs set compression=gzip storage/home
- To make this the new home directory for users, copy the
- user data to this directory, and create the appropriate
- symbolic links:
+ Για να γίνει αυτός ο νέος κατάλογος των χρηστών, αντιγράψτε τα
+ δεδομένα τους σε αυτόν και δημιουργήστε τους κατάλληλους
+ συμβολικούς δεσμούς:&prompt.root; cp -rp /home/* /storage/home
&prompt.root; rm -rf /home /usr/home
&prompt.root; ln -s /storage/home /home
&prompt.root; ln -s /storage/home /usr/home
- Users should now have their data stored on the freshly
- created /storage/home
- file system. Test by adding a new user and logging in as
- that user.
+ Τα δεδομένα των χρηστών θα αποθηκεύονται τώρα στο νέο σύστημα
+ αρχείων /storage/home.
+ Για να το επαληθεύσετε, δημιουργήστε ένα νέο χρήστη και εισέλθετε
+ στο σύστημα με το νέο λογαριασμό.
- Try creating a snapshot which may be rolled back
- later:
+ Δοκιμάστε να δημιουργήσετε ένα στιγμιότυπο (snapshot) στο
+ οποίο θα μπορείτε να επανέλθετε αργότερα:&prompt.root; zfs snapshot storage/home@08-30-08
- Note that the snapshot option will only capture a real
- file system, not a home directory or a file. The
- @ character is a delimiter used between
- the file system name or the volume name. When a user's
- home directory gets trashed, restore it with:
+ Σημειώστε ότι η επιλογή δημιουργίας στιγμιότυπου λειτουργεί
+ μόνο σε πραγματικό σύστημα αρχείων, και όχι σε κάποιο μεμονωμένο
+ κατάλογο ή αρχείο. Ο χαρακτήρας @
+ χρησιμοποιείται ως διαχωριστικό μεταξύ του συστήματος αρχείων και
+ του ονόματος τόμου. Αν καταστραφεί ο κατάλογος δεδομένων κάποιου
+ χρήστη αποκαταστήστε τον με την εντολή:&prompt.root; zfs rollback storage/home@08-30-08
- To get a list of all available snapshots, run the
- ls in the file system's
- .zfs/snapshot
- directory. For example, to see the previously taken
- snapshot, perform the following command:
+ Για να δείτε μια λίστα των διαθέσιμων στιγμιότυπων, εκτελέστε
+ την εντολή ls στον κατάλογο
+ .zfs/snapshot του συστήματος
+ αρχείων. Για παράδειγμα, για να δείτε το στιγμιότυπο που
+ δημιουργήσαμε προηγουμένως, εκτελέστε την παρακάτω εντολή:&prompt.root; ls /storage/home/.zfs/snapshot
- It is possible to write a script to perform monthly
- snapshots on user data; however, over time, snapshots
- may consume a great deal of disk space. The previous
- snapshot may be removed using the following command:
+ Είναι δυνατόν να γράψετε κάποιο script που να δημιουργεί
+ μηνιαία στιγμιότυπα των δεδομένων των χρηστών. Ωστόσο, με την
+ πάροδο του χρόνου, τα στιγμιότυπα θα καταναλώσουν μεγάλο ποσοστό
+ του χώρου στο δίσκο. Μπορείτε να διαγράψετε το προηγούμενο
+ στιγμιότυπο χρησιμοποιώντας την παρακάτω εντολή:&prompt.root; zfs destroy storage/home@08-30-08
- There is no reason, after all of this testing, we should
- keep /storage/home
- around in its present state. Make it the real
- /home file
- system:
+ Δεν υπάρχει λόγος, μετά από όλες αυτές τις δοκιμές, να
+ κρατήσουμε το /storage/home
+ στην παρούσα κατάσταση του. Μετατρέψτε το στο πραγματικό σύστημα
+ αρχείων /home:&prompt.root; zfs set mountpoint=/home storage/home
- Issuing the df and
- mount commands will show that the system
- now treats our file system as the real
+ Χρησιμοποιώντας τις εντολές df και
+ mount θα δούμε ότι το σύστημα χειρίζεται πλέον
+ αυτό το σύστημα αρχείων ως το πραγματικό
/home:&prompt.root; mount
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1d on /usr (ufs, local, soft-updates)
storage on /storage (zfs, local)
storage/home on /home (zfs, local)
&prompt.root; df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235240 1628708 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032826 48737618 2% /usr
storage 17547008 0 17547008 0% /storage
storage/home 17547008 0 17547008 0% /home
- This completes the RAID-Z
- configuration. To get status updates about the file systems
- created during the nightly &man.periodic.8; runs, issue the
- following command:
+ Εδώ ολοκληρώνεται η ρύθμιση του RAID-Z.
+ Για να δέχεστε αναφορές κατάστασης σχετικά με τα συστήματα
+ αρχείων κατά τη νυκτερινή εκτέλεση του &man.periodic.8;, δώστε την
+ παρακάτω εντολή:&prompt.root; echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
- Recovering RAID-Z
+ Ανάκτηση του RAID-Z
- Every software RAID has a method of
- monitoring their state.
- ZFS is no exception. The status of
- RAID-Z devices may be viewed with the
- following command:
+ Κάθε λογισμικό RAID έχει μια μέθοδο για
+ επίβλεψη της κατάστασής του, και το ZFS δεν
+ αποτελεί εξαίρεση. Μπορείτε να δείτε την κατάσταση των συσκευών
+ του RAID-Z χρησιμοποιώντας την ακόλουθη
+ εντολή:&prompt.root; zpool status -x
- If all pools are healthy and everything is normal, the
- following message will be returned:
+ Αν όλα τα pools είναι σε υγιή κατάσταση, θα πάρετε το ακόλουθο
+ μήνυμα:all pools are healthy
- If there is an issue, perhaps a disk has gone offline,
- the pool state will be returned and look similar to:
+ Αν υπάρχει κάποιο πρόβλημα, π.χ. κάποιος δίσκος έχει βγει
+ εκτός λειτουργίας, θα δείτε την περιγραφή της κατάστασης σε
+ ένα μήνυμα όπως το παρακάτω: pool: storage
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
storage DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
da0 ONLINE 0 0 0
da1 OFFLINE 0 0 0
errors: No known data errors
- This states that the device was taken offline by the
- administrator. This is true for this particular example.
- To take the disk offline, the following command was
- used:
+ Το παραπάνω δείχνει ότι η συσκευή τέθηκε εκτός λειτουργίας
+ από τον διαχειριστή. Αυτό είναι αλήθεια για το συγκεκριμένο
+ παράδειγμα. Για να τεθεί ο δίσκος εκτός, χρησιμοποιήθηκε η
+ παρακάτω εντολή:&prompt.root; zpool offline storage da1
- It is now possible to replace the
- da1 after the system has been
- powered down. When the system is back online, the following
- command may issued to replace the disk:
+ Μπορούμε τώρα να αντικαταστήσουμε το δίσκο
+ da1 μετά την απενεργοποίηση του
+ συστήματος. Όταν το σύστημα επανέλθει σε λειτουργία, μπορούμε να
+ χρησιμοποιήσουμε την ακόλουθη εντολή για να ενημερώσουμε το
+ σύστημα για την αντικατάσταση του δίσκου:&prompt.root; zpool replace storage da1
- From here, the status may be checked again, this time
- without the flag to get state
- information:
+ Από εδώ, μπορούμε να ελέγξουμε ξανά την κατάσταση, αυτή τη
+ φορά χωρίς την επιλογή :&prompt.root; zpool status storage
pool: storage
state: ONLINE
scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da1 ONLINE 0 0 0
errors: No known data errors
- As shown from this example, everything appears to be
- normal.
+ Όπως φαίνεται στο παράδειγμα, τα πάντα φαίνεται να λειτουργούν
+ φυσιολογικά.
- Data Verification
+ Επαλήθευση Δεδομένων
- As previously mentioned, ZFS uses
- checksums to verify the integrity of
- stored data. They are enabled automatically upon creation
- of file systems and may be disabled using the following
- command:
+ Όπως αναφέραμε προηγουμένως, το ZFS
+ χρησιμοποιεί checksums (αθροίσματα ελέγχου) για
+ να επαληθεύσει την ακεραιότητα των αποθηκευμένων δεδομένων.
+ Τα αθροίσματα ελέγχου ενεργοποιούνται αυτόματα κατά την δημιουργία
+ των συστημάτων αρχείων, και μπορούν να απενεργοποιηθούν μέσω της
+ επόμενης εντολής:&prompt.root; zfs set checksum=off storage/home
- This is not a wise idea; however, as checksums take
- very little storage space and are more useful enabled. There
- also appear to be no noticeable costs having them enabled.
- While enabled, it is possible to have ZFS
- check data integrity using checksum verification. This
- process is known as scrubing. To verify the
- data integrity of the storage pool, issue
- the following command:
+ Αυτό δεν είναι γενικά καλή ιδέα, καθώς τα checksums
+ καταλαμβάνουν ελάχιστο αποθηκευτικό χώρο, και είναι πολύ πιο
+ χρήσιμο να τα έχουμε ενεργοποιημένα. Επίσης δεν φαίνεται να
+ προκαλούν κάποια σημαντική καθυστέρηση ή επιβάρυνση. Με τα
+ checksums ενεργοποιημένα, μπορούμε να ζητήσουμε από το
+ ZFS να ελέγξει την ακεραιότητα των δεδομένων
+ χρησιμοποιώντας τα για επαλήθευση. Η διαδικασία αυτή είναι
+ γνωστή ως scrubing. Για να ελέγξετε την
+ ακεραιότητα δεδομένων του pool storage,
+ χρησιμοποιήστε την παρακάτω εντολή:&prompt.root; zpool scrub storage
- This process may take considerable time depending on
- the amount of data stored. It is also very
- I/O intensive, so much that only one
- of these operations may be run at any given time. After
- the scrub has completed, the status is updated and may be
- viewed by issuing a status request:
+ Η διαδικασία αυτή μπορεί να πάρει αρκετή ώρα, ανάλογα με την
+ ποσότητα των αποθηκευμένων δεδομένων. Επίσης χρησιμοποιεί πάρα
+ πολύ το δίσκο (I/O), τόσο ώστε σε κάθε
+ δεδομένη στιγμή μπορεί να εκτελείται μόνο μια τέτοια διαδικασία.
+ Μετά την ολοκλήρωση του scrub, θα ανανεωθεί και η αναφορά
+ κατάστασης, την οποία μπορείτε να δείτε ζητώντας την με την
+ παρακάτω εντολή:&prompt.root; zpool status storage
pool: storage
state: ONLINE
scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da1 ONLINE 0 0 0
errors: No known data errors
- The completion time is in plain view in this example.
- This feature helps to ensure data integrity over a long
- period of time.
+ Στο παράδειγμα μας εμφανίζεται και η χρονική στιγμή που
+ ολοκληρώθηκε η εντολή scrub. Η δυνατότητα αυτή μας εξασφαλίζει
+ ακεραιότητα δεδομένων σε μεγάλο βάθος χρόνου.
- There are many more options for the Z file system,
- see the &man.zfs.8; and &man.zpool.8; manual
- pages.
+ Υπάρχουν πολλές ακόμα επιλογές για το σύστημα αρχείων Ζ. Δείτε
+ τις σελίδες manual &man.zfs.8; και &man.zpool.8;.
+
+