|
Lines 50-63
Link Here
|
| 50 |
|
50 |
|
| 51 |
<para><emphasis>Vinum</emphasis> is a |
51 |
<para><emphasis>Vinum</emphasis> is a |
| 52 |
so-called <emphasis>Volume Manager</emphasis>, a virtual disk driver that |
52 |
so-called <emphasis>Volume Manager</emphasis>, a virtual disk driver that |
| 53 |
addresses these three problems. Let's look at them in more detail. Various |
53 |
addresses these three problems. Let us look at them in more detail. Various |
| 54 |
solutions to these problems have been proposed and implemented:</para> |
54 |
solutions to these problems have been proposed and implemented:</para> |
| 55 |
|
55 |
|
| 56 |
|
56 |
|
| 57 |
<para>Disks are getting bigger, but so are data storage requirements. |
57 |
<para>Disks are getting bigger, but so are data storage requirements. |
| 58 |
Often you'll find you want a file system that is bigger than the disks |
58 |
Often you will find you want a file system that is bigger than the disks |
| 59 |
you have available. Admittedly, this problem is not as acute as it was |
59 |
you have available. Admittedly, this problem is not as acute as it was |
| 60 |
ten years ago, but it still exists. Some systems have solve this by |
60 |
ten years ago, but it still exists. Some systems have solved this by |
| 61 |
creating an abstract device which stores its data on a number of disks.</para> |
61 |
creating an abstract device which stores its data on a number of disks.</para> |
| 62 |
</sect1> |
62 |
</sect1> |
| 63 |
|
63 |
|
|
Lines 72-78
Link Here
|
| 72 |
<para>Current disk drives can transfer data sequentially at up to |
72 |
<para>Current disk drives can transfer data sequentially at up to |
| 73 |
30 MB/s, but this value is of little importance in an environment |
73 |
30 MB/s, but this value is of little importance in an environment |
| 74 |
where many independent processes access a drive, where they may |
74 |
where many independent processes access a drive, where they may |
| 75 |
achieve only a fraction of these values. In such cases it's more |
75 |
achieve only a fraction of these values. In such cases it is more |
| 76 |
interesting to view the problem from the viewpoint of the disk |
76 |
interesting to view the problem from the viewpoint of the disk |
| 77 |
subsystem: the important parameter is the load that a transfer places |
77 |
subsystem: the important parameter is the load that a transfer places |
| 78 |
on the subsystem, in other words the time for which a transfer occupies |
78 |
on the subsystem, in other words the time for which a transfer occupies |
|
Lines 80-86
Link Here
|
| 80 |
|
80 |
|
| 81 |
<para>In any disk transfer, the drive must first position the heads, wait |
81 |
<para>In any disk transfer, the drive must first position the heads, wait |
| 82 |
for the first sector to pass under the read head, and then perform the |
82 |
for the first sector to pass under the read head, and then perform the |
| 83 |
transfer. These actions can be considered to be atomic: it doesn't make |
83 |
transfer. These actions can be considered to be atomic: it does not make |
| 84 |
any sense to interrupt them.</para> |
84 |
any sense to interrupt them.</para> |
| 85 |
|
85 |
|
| 86 |
<para><anchor id="vinum-latency"> |
86 |
<para><anchor id="vinum-latency"> |
|
Lines 112-118
Link Here
|
| 112 |
|
112 |
|
| 113 |
<para>The evenness of the load on the disks is strongly dependent on |
113 |
<para>The evenness of the load on the disks is strongly dependent on |
| 114 |
the way the data is shared across the drives. In the following |
114 |
the way the data is shared across the drives. In the following |
| 115 |
discussion, it's convenient to think of the disk storage as a large |
115 |
discussion, it is convenient to think of the disk storage as a large |
| 116 |
number of data sectors which are addressable by number, rather like the |
116 |
number of data sectors which are addressable by number, rather like the |
| 117 |
pages in a book. The most obvious method is to divide the virtual disk |
117 |
pages in a book. The most obvious method is to divide the virtual disk |
| 118 |
into groups of consecutive sectors the size of the individual physical |
118 |
into groups of consecutive sectors the size of the individual physical |
|
Lines 654-660
Link Here
|
| 654 |
<title>Object naming</title> |
654 |
<title>Object naming</title> |
| 655 |
<para>As described above, Vinum assigns default names to plexes and |
655 |
<para>As described above, Vinum assigns default names to plexes and |
| 656 |
subdisks, although they may be overridden. Overriding the default names |
656 |
subdisks, although they may be overridden. Overriding the default names |
| 657 |
is not recommended: experience with the VERITAS\(rg volume manager, which |
657 |
is not recommended: experience with the VERITAS Volume Manager™, which |
| 658 |
allows arbitrary naming of objects, has shown that this flexibility does |
658 |
allows arbitrary naming of objects, has shown that this flexibility does |
| 659 |
not bring a significant advantage, and it can cause confusion.</para> |
659 |
not bring a significant advantage, and it can cause confusion.</para> |
| 660 |
|
660 |
|
|
Lines 679-685
Link Here
|
| 679 |
<para>Block and character device entries for each volume. |
679 |
<para>Block and character device entries for each volume. |
| 680 |
These are the main devices used by Vinum. The block device names are |
680 |
These are the main devices used by Vinum. The block device names are |
| 681 |
the name of the volume, while the character device names follow the BSD |
681 |
the name of the volume, while the character device names follow the BSD |
| 682 |
tradition of perpending the letter <emphasis>r</emphasis> to the name. |
682 |
tradition of prepending the letter <emphasis>r</emphasis> to the name. |
| 683 |
Thus the configuration above would include the block devices |
683 |
Thus the configuration above would include the block devices |
| 684 |
<devicename>/dev/vinum/myvol</devicename>, |
684 |
<devicename>/dev/vinum/myvol</devicename>, |
| 685 |
<devicename>/dev/vinum/mirror</devicename>, |
685 |
<devicename>/dev/vinum/mirror</devicename>, |
|
Lines 835-846
Link Here
|
| 835 |
|
835 |
|
| 836 |
<sect1 id="vinum-config"> |
836 |
<sect1 id="vinum-config"> |
| 837 |
<title>Configuring Vinum</title> |
837 |
<title>Configuring Vinum</title> |
| 838 |
<para>The <filename>GENERIC</filename> kernel does not contain Vinum. It's |
838 |
<para>The <filename>GENERIC</filename> kernel does not contain Vinum. It is |
| 839 |
possible to build a special kernel which includes Vinum, but this is not |
839 |
possible to build a special kernel which includes Vinum, but this is not |
| 840 |
recommended. The standard way to start Vinum is as a |
840 |
recommended. The standard way to start Vinum is as a kernel module |
| 841 |
<acronym>kld</acronym>. You don't even need to use &man.kldload.8; |
841 |
(<acronym>kld</acronym>). You do not even need to use &man.kldload.8; |
| 842 |
for Vinum: when you start &man.vinum.8;, it checks whether the module |
842 |
for Vinum: when you start &man.vinum.8;, it checks whether the module |
| 843 |
has been loaded, and if it isn't, it loads it automatically.</para> |
843 |
has been loaded, and if it is not, it loads it automatically.</para> |
| 844 |
|
844 |
|
| 845 |
|
845 |
|
| 846 |
<sect2> |
846 |
<sect2> |
|
Lines 891-900
Link Here
|
| 891 |
<programlisting> |
891 |
<programlisting> |
| 892 |
start_vinum="YES" # set to YES to start vinum</programlisting> |
892 |
start_vinum="YES" # set to YES to start vinum</programlisting> |
| 893 |
|
893 |
|
| 894 |
<para>If you don't have a file <filename>/etc/rc.conf</filename>, create |
894 |
<para>If you do not have a file <filename>/etc/rc.conf</filename>, create |
| 895 |
one with this content. This will cause the system to load the Vinum |
895 |
one with this content. This will cause the system to load the Vinum |
| 896 |
<acronym>kld</acronym> at startup, and to start any objects mentioned in |
896 |
<acronym>kld</acronym> at startup, and to start any objects mentioned in |
| 897 |
the configuration. This is done before mounting file systems, so it's |
897 |
the configuration. This is done before mounting file systems, so it is |
| 898 |
possible to automatically &man.fsck.8; and mount file systems on Vinum |
898 |
possible to automatically &man.fsck.8; and mount file systems on Vinum |
| 899 |
volumes.</para> |
899 |
volumes.</para> |