diff options
Diffstat (limited to 'documentation/content/ru/articles/vinum/_index.po')
-rw-r--r-- | documentation/content/ru/articles/vinum/_index.po | 2260 |
1 files changed, 2260 insertions, 0 deletions
diff --git a/documentation/content/ru/articles/vinum/_index.po b/documentation/content/ru/articles/vinum/_index.po new file mode 100644 index 0000000000..93a1393713 --- /dev/null +++ b/documentation/content/ru/articles/vinum/_index.po @@ -0,0 +1,2260 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-10-04 00:14+0300\n" +"PO-Revision-Date: 2025-08-10 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/articlesvinum_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/articles/vinum/_index.adoc:1 +#, no-wrap +msgid "The vinum Volume Manager in FreeBSD" +msgstr "Менеджер томов vinum в FreeBSD" + +#. The Vinum Volume Manager +#. By Greg Lehey (grog at lemis dot com) +#. Added to the Handbook by Hiten Pandya <hmp@FreeBSD.org> +#. and Tom Rhodes <trhodes@FreeBSD.org> +#. For the FreeBSD Documentation Project +#. type: Title = +#: documentation/content/en/articles/vinum/_index.adoc:1 +#: documentation/content/en/articles/vinum/_index.adoc:19 +#, no-wrap +msgid "The vinum Volume Manager" +msgstr "Менеджер томов vinum" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:51 +msgid "'''" +msgstr "'''" + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:55 +#, no-wrap +msgid "Synopsis" +msgstr "Обзор" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:62 +msgid "" +"No matter the type of disks, there are always potential problems. The disks " +"can be too small, too slow, or too unreliable to meet the system's " +"requirements. While disks are getting bigger, so are data storage " +"requirements. Often a file system is needed that is bigger than a disk's " +"capacity. Various solutions to these problems have been proposed and " +"implemented." +msgstr "" +"Независимо от типа дисков, всегда существуют потенциальные проблемы. Диски " +"могут быть слишком малы, слишком медленны или недостаточно надежны для " +"соответствия требованиям системы. Хотя диски становятся больше, требования " +"к хранению данных также растут. Часто требуется файловая система, размер " +"которой превышает емкость одного диска. Были предложены и реализованы " +"различные решения этих проблем." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:66 +msgid "" +"One method is through the use of multiple, and sometimes redundant, disks. " +"In addition to supporting various cards and controllers for hardware " +"Redundant Array of Independent Disks RAID systems, the base FreeBSD system " +"includes the [.filename]#vinum# volume manager, a block device driver that " +"implements virtual disk drives and addresses these three problems. " +"[.filename]#vinum# provides more flexibility, performance, and reliability " +"than traditional disk storage and implements `RAID`-0, `RAID`-1, and " +"`RAID`-5 models, both individually and in combination." +msgstr "" +"Один из методов заключается в использовании нескольких, а иногда и " +"избыточных дисков. Помимо поддержки различных карт и контроллеров для " +"аппаратных систем RAID (Redundant Array of Independent Disks), базовая " +"система FreeBSD включает менеджер томов [.filename]#vinum#, драйвер блочных " +"устройств, который реализует виртуальные диски и решает эти три проблемы. " +"[.filename]#vinum# обеспечивает большую гибкость, производительность и " +"надежность по сравнению с традиционными системами хранения данных, а также " +"реализует модели `RAID`-0, `RAID`-1 и `RAID`-5 как по отдельности, так и в " +"комбинации." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:68 +msgid "" +"This chapter provides an overview of potential problems with traditional " +"disk storage, and an introduction to the [.filename]#vinum# volume manager." +msgstr "" +"Эта глава предоставляет обзор потенциальных проблем с традиционным дисковым " +"хранилищем и введение в менеджер томов [.filename]#vinum#." + +#. type: delimited block = 4 +#: documentation/content/en/articles/vinum/_index.adoc:73 +msgid "" +"vinum is deprecated and is not present in FreeBSD 15.0 and later. Users are " +"advised to migrate to man:gconcat[8], man:gmirror[8], man:gstripe[8], " +"man:graid[8], or man:zfs[8]." +msgstr "" +"vinum устарел и отсутствует в FreeBSD 15.0 и более поздних версиях. " +"Пользователям рекомендуется перейти на man:gconcat[8], man:gmirror[8], " +"man:gstripe[8], man:graid[8] или man:zfs[8]." + +#. type: delimited block = 4 +#: documentation/content/en/articles/vinum/_index.adoc:82 +msgid "" +"Starting with FreeBSD 5, [.filename]#vinum# has been rewritten to fit into " +"the extref:{handbook}[GEOM architecture, geom], while retaining the original " +"ideas, terminology, and on-disk metadata. This rewrite is called _gvinum_ " +"(for _GEOM vinum_). While this chapter uses the term [.filename]#vinum#, " +"any command invocations should be performed with `gvinum`. The name of the " +"kernel module has changed from the original [.filename]#vinum.ko# to " +"[.filename]#geom_vinum.ko#, and all device nodes reside under [.filename]#/" +"dev/gvinum# instead of [.filename]#/dev/vinum#. As of FreeBSD 6, the " +"original [.filename]#vinum# implementation is no longer available in the " +"code base." +msgstr "" +"Начиная с FreeBSD 5, [.filename]#vinum# был переписан для интеграции в " +"extref:{handbook}geom/[архитектуру GEOM, geom-synopsis], сохраняя при этом " +"оригинальные идеи, терминологию и метаданные на диске. Эта переработанная " +"версия называется _gvinum_ (от _GEOM vinum_). Хотя в этой главе используется " +"термин [.filename]#vinum#, все команды должны выполняться с помощью " +"`gvinum`. Имя модуля ядра изменилось с оригинального [.filename]#vinum.ko# " +"на [.filename]#geom_vinum.ko#, а все узлы устройств находятся в [.filename]#/" +"dev/gvinum# вместо [.filename]#/dev/vinum#. Начиная с FreeBSD 6, " +"оригинальная реализация [.filename]#vinum# больше не доступна в кодовой базе." + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:85 +#, no-wrap +msgid "Access Bottlenecks" +msgstr "Узкие места доступа" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:89 +msgid "" +"Modern systems frequently need to access data in a highly concurrent " +"manner. For example, large FTP or HTTP servers can maintain thousands of " +"concurrent sessions and have multiple 100 Mbit/s connections to the outside " +"world, well beyond the sustained transfer rate of most disks." +msgstr "" +"Современные системы часто нуждаются в доступе к данным в условиях высокой " +"параллельности. Например, крупные FTP- или HTTP-серверы могут поддерживать " +"тысячи одновременных сеансов и иметь несколько 100 Мбит/с соединений с " +"внешним миром, что значительно превышает устойчивую скорость передачи " +"большинства дисков." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:93 +msgid "" +"Current disk drives can transfer data sequentially at up to 70 MB/s, but " +"this value is of little importance in an environment where many independent " +"processes access a drive, and where they may achieve only a fraction of " +"these values. In such cases, it is more interesting to view the problem " +"from the viewpoint of the disk subsystem. The important parameter is the " +"load that a transfer places on the subsystem, or the time for which a " +"transfer occupies the drives involved in the transfer." +msgstr "" +"Современные дисковые накопители могут передавать данные последовательно со " +"скоростью до 70 МБ/с, но это значение имеет мало значения в среде, где " +"множество независимых процессов обращаются к накопителю и могут достичь лишь " +"доли этих значений. В таких случаях более интересно рассмотреть проблему с " +"точки зрения дисковой подсистемы. Важным параметром является нагрузка, " +"которую передача данных создаёт на подсистему, или время, в течение которого " +"передача занимает задействованные накопители." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:96 +msgid "" +"In any disk transfer, the drive must first position the heads, wait for the " +"first sector to pass under the read head, and then perform the transfer. " +"These actions can be considered to be atomic as it does not make any sense " +"to interrupt them." +msgstr "" +"При любом переносе данных на диск сначала необходимо позиционировать " +"головки, дождаться, пока первый сектор окажется под считывающей головкой, а " +"затем выполнить перенос. Эти действия можно считать атомарными, так как их " +"прерывание не имеет смысла." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:101 +msgid "" +"[[vinum-latency]] Consider a typical transfer of about 10 kB: the current " +"generation of high-performance disks can position the heads in an average of " +"3.5 ms. The fastest drives spin at 15,000 rpm, so the average rotational " +"latency (half a revolution) is 2 ms. At 70 MB/s, the transfer itself takes " +"about 150 μs, almost nothing compared to the positioning time. In such a " +"case, the effective transfer rate drops to a little over 1 MB/s and is " +"clearly highly dependent on the transfer size." +msgstr "" +"[[vinum-latency]] Рассмотрим типичную передачу около 10 КБ: современные " +"высокопроизводительные диски могут позиционировать головки в среднем за 3,5 " +"мс. Самые быстрые диски вращаются со скоростью 15 000 об/мин, поэтому " +"средняя задержка вращения (половина оборота) составляет 2 мс. При скорости " +"70 МБ/с сама передача занимает около 150 мкс, что почти ничто по сравнению с " +"временем позиционирования. В таком случае эффективная скорость передачи " +"падает до чуть более 1 МБ/с и явно сильно зависит от размера передачи." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:104 +msgid "" +"The traditional and obvious solution to this bottleneck is \"more " +"spindles\": rather than using one large disk, use several smaller disks with " +"the same aggregate storage space. Each disk is capable of positioning and " +"transferring independently, so the effective throughput increases by a " +"factor close to the number of disks used." +msgstr "" +"Традиционное и очевидное решение этой проблемы — «больше дисков»: вместо " +"одного большого диска использовать несколько дисков меньшего размера с тем " +"же общим объёмом хранилища. Каждый диск способен позиционироваться и " +"передавать данные независимо, поэтому эффективная пропускная способность " +"увеличивается почти пропорционально количеству используемых дисков." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:108 +msgid "" +"The actual throughput improvement is smaller than the number of disks " +"involved. Although each drive is capable of transferring in parallel, there " +"is no way to ensure that the requests are evenly distributed across the " +"drives. Inevitably the load on one drive will be higher than on another." +msgstr "" +"Фактическое увеличение пропускной способности меньше, чем количество " +"задействованных дисков. Хотя каждый диск способен передавать данные " +"параллельно, нет возможности гарантировать равномерное распределение " +"запросов между дисками. Неизбежно нагрузка на один диск будет выше, чем на " +"другой." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:116 +msgid "" +"The evenness of the load on the disks is strongly dependent on the way the " +"data is shared across the drives. In the following discussion, it is " +"convenient to think of the disk storage as a large number of data sectors " +"which are addressable by number, rather like the pages in a book. The most " +"obvious method is to divide the virtual disk into groups of consecutive " +"sectors the size of the individual physical disks and store them in this " +"manner, rather like taking a large book and tearing it into smaller " +"sections. This method is called _concatenation_ and has the advantage that " +"the disks are not required to have any specific size relationships. It " +"works well when the access to the virtual disk is spread evenly about its " +"address space. When access is concentrated on a smaller area, the " +"improvement is less marked. crossref:vinum[vinum-concat, Concatenated " +"Organization] illustrates the sequence in which storage units are allocated " +"in a concatenated organization." +msgstr "" +"Равномерность нагрузки на диски сильно зависит от способа распределения " +"данных по накопителям. В дальнейшем обсуждении удобно представлять дисковое " +"хранилище как большое количество секторов данных, адресуемых по номерам, " +"подобно страницам в книге. Наиболее очевидный метод — разделить виртуальный " +"диск на группы последовательных секторов размером с отдельные физические " +"диски и хранить их таким образом, как если бы большую книгу разорвали на " +"меньшие разделы. Этот метод называется _ объединением (конкатенацией)_ и " +"имеет преимущество в том, что диски не требуют каких-либо определённых " +"соотношений размеров. Он хорошо работает, когда доступ к виртуальному диску " +"равномерно распределён по его адресному пространству. Если доступ " +"сосредоточен на меньшей области, улучшение менее заметно. " +"crossref:vinum[vinum-concat, Организация методом объединения] иллюстрирует " +"последовательность выделения блоков хранения в организации методом " +"объединения." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:118 +#, no-wrap +msgid "Concatenated Organization" +msgstr "Организация методом объединения" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:119 +#, no-wrap +msgid "vinum-concat.png" +msgstr "vinum-concat.png" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:125 +msgid "" +"An alternative mapping is to divide the address space into smaller, equal-" +"sized components and store them sequentially on different devices. For " +"example, the first 256 sectors may be stored on the first disk, the next 256 " +"sectors on the next disk and so on. After filling the last disk, the " +"process repeats until the disks are full. This mapping is called _striping_ " +"or RAID-0." +msgstr "" +"Альтернативный метод распределения заключается в разделении адресного " +"пространства на меньшие равные по размеру компоненты и их последовательном " +"хранении на разных устройствах. Например, первые 256 секторов могут " +"храниться на первом диске, следующие 256 секторов — на следующем диске и так " +"далее. После заполнения последнего диска процесс повторяется, пока все диски " +"не будут заполнены. Такой метод называется _чередованием (striping)_ или " +"RAID-0." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:129 +msgid "" +"`RAID` offers various forms of fault tolerance, though RAID-0 is somewhat " +"misleading as it provides no redundancy. Striping requires somewhat more " +"effort to locate the data, and it can cause additional I/O load where a " +"transfer is spread over multiple disks, but it can also provide a more " +"constant load across the disks. crossref:vinum[vinum-striped, Striped " +"Organization] illustrates the sequence in which storage units are allocated " +"in a striped organization." +msgstr "" +"`RAID` предлагает различные формы отказоустойчивости, хотя RAID-0 несколько " +"вводит в заблуждение, так как не обеспечивает избыточности. Разделение " +"данных требует несколько больше усилий для их поиска и может создавать " +"дополнительную нагрузку ввода-вывода, когда передача распределяется по " +"нескольким дискам, но также может обеспечить более равномерную нагрузку на " +"диски. crossref:vinum[vinum-striped,Организация методом чередования] " +"иллюстрирует последовательность, в которой организуется распределение блоков " +"хранения с чередованием." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:131 +#, no-wrap +msgid "Striped Organization" +msgstr "Организация методом чередования" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:132 +#, no-wrap +msgid "vinum-striped.png" +msgstr "vinum-striped.png" + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:135 +#, no-wrap +msgid "Data Integrity" +msgstr "Целостность данных" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:140 +msgid "" +"The final problem with disks is that they are unreliable. Although " +"reliability has increased tremendously over the last few years, disk drives " +"are still the most likely core component of a server to fail. When they do, " +"the results can be catastrophic and replacing a failed disk drive and " +"restoring data can result in server downtime." +msgstr "" +"Последняя проблема с дисками заключается в их ненадёжности. Хотя надёжность " +"значительно повысилась за последние годы, дисковые накопители остаются " +"наиболее вероятным компонентом сервера, который может выйти из строя. Когда " +"это происходит, последствия могут быть катастрофическими, а замена вышедшего " +"из строя диска и восстановление данных могут привести к простою сервера." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:143 +msgid "" +"One approach to this problem is _mirroring_, or `RAID-1`, which keeps two " +"copies of the data on different physical hardware. Any write to the volume " +"writes to both disks; a read can be satisfied from either, so if one drive " +"fails, the data is still available on the other drive." +msgstr "" +"Один из подходов к этой проблеме — _зеркалирование_, или `RAID-1`, при " +"котором данные хранятся в двух экземплярах на разных физических носителях. " +"Любая запись на том записывается на оба диска; чтение может выполняться с " +"любого из них, поэтому при отказе одного диска данные остаются доступны на " +"другом." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:145 +msgid "Mirroring has two problems:" +msgstr "Зеркалирование имеет две проблемы:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:147 +msgid "It requires twice as much disk storage as a non-redundant solution." +msgstr "" +"Требуется в два раза больше дискового пространства, чем для решения без " +"избыточности." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:148 +msgid "" +"Writes must be performed to both drives, so they take up twice the bandwidth " +"of a non-mirrored volume. Reads do not suffer from a performance penalty and " +"can even be faster." +msgstr "" +"Запись должна выполняться на оба диска, поэтому она занимает в два раза " +"больше пропускной способности, чем в незеркалированном томе. Чтение не " +"страдает от потери производительности и может быть даже быстрее." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:155 +msgid "" +"An alternative solution is _parity_, implemented in `RAID` levels 2, 3, 4 " +"and 5. Of these, `RAID-5` is the most interesting. As implemented in " +"[.filename]#vinum#, it is a variant on a striped organization which " +"dedicates one block of each stripe to parity one of the other blocks. As " +"implemented by [.filename]#vinum#, a `RAID-5` plex is similar to a striped " +"plex, except that it implements `RAID-5` by including a parity block in each " +"stripe. As required by `RAID-5`, the location of this parity block changes " +"from one stripe to the next. The numbers in the data blocks indicate the " +"relative block numbers." +msgstr "" +"Альтернативным решением является _четность_, реализованная в уровнях `RAID` " +"2, 3, 4 и 5. Из них `RAID-5` представляет наибольший интерес. В реализации " +"[.filename]#vinum# это вариант организации с чередованием, где один блок " +"каждой полосы выделяется под четность одного из других блоков. В реализации " +"[.filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за " +"исключением того, что он реализует `RAID-5`, включая блок четности в каждую " +"полосу. Как требуется в `RAID-5`, расположение этого блока четности меняется " +"от одной полосы к другой. Числа в блоках данных обозначают относительные " +"номера блоков." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:157 +#, no-wrap +msgid "`RAID`-5 Organization" +msgstr "Организация `RAID`-5" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:158 +#, no-wrap +msgid "vinum-raid5-org.png" +msgstr "vinum-raid5-org.png" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:163 +msgid "" +"Compared to mirroring, `RAID-5` has the advantage of requiring significantly " +"less storage space. Read access is similar to that of striped " +"organizations, but write access is significantly slower, approximately 25% " +"of the read performance. If one drive fails, the array can continue to " +"operate in degraded mode where a read from one of the remaining accessible " +"drives continues normally, but a read from the failed drive is recalculated " +"from the corresponding block from all the remaining drives." +msgstr "" +"По сравнению с зеркалированием, `RAID-5` имеет преимущество в виде " +"значительно меньшего требуемого объема хранилища. Скорость чтения аналогична " +"таковой при чередующейся организации, но скорость записи значительно ниже — " +"примерно 25% от скорости чтения. Если один диск выходит из строя, массив " +"может продолжать работу в деградировавшем режиме, при котором чтение с " +"оставшихся доступных дисков продолжается в обычном режиме, а чтение с " +"отказавшего диска пересчитывается из соответствующих блоков всех оставшихся " +"дисков." + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:165 +#, no-wrap +msgid "[.filename]#vinum# Objects" +msgstr "Объекты [.filename]#vinum#" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:168 +msgid "" +"To address these problems, [.filename]#vinum# implements a four-level " +"hierarchy of objects:" +msgstr "" +"Для решения этих проблем [.filename]#vinum# реализует четырёхуровневую " +"иерархию объектов:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:170 +msgid "" +"The most visible object is the virtual disk, called a _volume_. Volumes have " +"essentially the same properties as a UNIX(R) disk drive, though there are " +"some minor differences. For one, they have no size limitations." +msgstr "" +"Наиболее заметным объектом является виртуальный диск, называемый _томом_. " +"Том обладает практически теми же свойствами, что и UNIX(R) дисковый " +"накопитель, хотя есть некоторые незначительные отличия. Например, у тома нет " +"ограничений по размеру." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:171 +msgid "" +"Volumes are composed of _plexes_, each of which represent the total address " +"space of a volume. This level in the hierarchy provides redundancy. Think of " +"plexes as individual disks in a mirrored array, each containing the same " +"data." +msgstr "" +"Тома состоят из _плексов_, каждый из которых представляет полное адресное " +"пространство тома. Этот уровень в иерархии обеспечивает избыточность. Можно " +"представить плексы как отдельные диски в зеркальном массиве, каждый из " +"которых содержит одинаковые данные." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:172 +msgid "" +"Since [.filename]#vinum# exists within the UNIX(R) disk storage framework, " +"it would be possible to use UNIX(R) partitions as the building block for " +"multi-disk plexes. In fact, this turns out to be too inflexible as UNIX(R) " +"disks can have only a limited number of partitions. Instead, " +"[.filename]#vinum# subdivides a single UNIX(R) partition, the _drive_, into " +"contiguous areas called _subdisks_, which are used as building blocks for " +"plexes." +msgstr "" +"Поскольку [.filename]#vinum# существует в рамках системы хранения данных " +"UNIX(R), можно было бы использовать разделы UNIX(R) в качестве строительных " +"блоков для многодисковых plexes. Однако на практике это оказывается слишком " +"негибким, так как диски UNIX(R) могут иметь только ограниченное количество " +"разделов. Вместо этого [.filename]#vinum# разбивает единственный раздел " +"UNIX(R), называемый _дисковый раздел (drive)_, на непрерывные области, " +"называемые _поддисками (subdisk)_, которые используются как строительные " +"блоки для плексов." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:173 +msgid "" +"Subdisks reside on [.filename]#vinum#_drives_, currently UNIX(R) partitions. " +"[.filename]#vinum# drives can contain any number of subdisks. With the " +"exception of a small area at the beginning of the drive, which is used for " +"storing configuration and state information, the entire drive is available " +"for data storage." +msgstr "" +"Поддиски располагаются на _дисковых разделах_ [.filename]#vinum#, в " +"настоящее время это разделы UNIX(R). Разделы [.filename]#vinum# могут " +"содержать любое количество поддисков. За исключением небольшой области в " +"начале раздела, которая используется для хранения конфигурации и состояния, " +"весь раздел доступен для хранения данных." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:175 +msgid "" +"The following sections describe the way these objects provide the " +"functionality required of [.filename]#vinum#." +msgstr "" +"Следующие разделы статьи описывают, каким образом эти объекты обеспечивают " +"функциональность, требуемую для [.filename]#vinum#." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:176 +#, no-wrap +msgid "Volume Size Considerations" +msgstr "Учет размера томов" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:180 +msgid "" +"Plexes can include multiple subdisks spread over all drives in the " +"[.filename]#vinum# configuration. As a result, the size of an individual " +"drive does not limit the size of a plex or a volume." +msgstr "" +"Плексы могут включать несколько поддисков, распределенных по всем дискам в " +"конфигурации [.filename]#vinum#. В результате, размер отдельного диска не " +"ограничивает размер плекса или тома." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:181 +#, no-wrap +msgid "Redundant Data Storage" +msgstr "Избыточное хранение данных" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:186 +msgid "" +"[.filename]#vinum# implements mirroring by attaching multiple plexes to a " +"volume. Each plex is a representation of the data in a volume. A volume " +"may contain between one and eight plexes." +msgstr "" +"[.filename]#vinum# реализует зеркалирование путем присоединения нескольких " +"плекс к тому. Каждый плекс представляет данные в томе. Том может содержать " +"от одного до восьми плексов." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:189 +msgid "" +"Although a plex represents the complete data of a volume, it is possible for " +"parts of the representation to be physically missing, either by design (by " +"not defining a subdisk for parts of the plex) or by accident (as a result of " +"the failure of a drive). As long as at least one plex can provide the data " +"for the complete address range of the volume, the volume is fully functional." +msgstr "" +"Хотя плекс представляет полные данные тома, возможно, что некоторые части " +"представления физически отсутствуют — либо по замыслу (если поддиск для " +"частей плекса не определён), либо случайно (в результате выхода диска из " +"строя). До тех пор, пока хотя бы один плекс может предоставить данные для " +"полного адресного пространства тома, том остаётся полностью работоспособным." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:190 +#, no-wrap +msgid "Which Plex Organization?" +msgstr "Какую организацию плексов выбрать?" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:193 +msgid "" +"[.filename]#vinum# implements both concatenation and striping at the plex " +"level:" +msgstr "" +"[.filename]#vinum# реализует как объединение, так и чередование на уровне " +"плекс:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:195 +msgid "" +"A _concatenated plex_ uses the address space of each subdisk in turn. " +"Concatenated plexes are the most flexible as they can contain any number of " +"subdisks, and the subdisks may be of different length. The plex may be " +"extended by adding additional subdisks. They require less CPU time than " +"striped plexes, though the difference in CPU overhead is not measurable. On " +"the other hand, they are most susceptible to hot spots, where one disk is " +"very active and others are idle." +msgstr "" +"_Плекс с объединением_ использует адресное пространство каждого поддиска по " +"очереди. Объединённые плексы являются наиболее гибкими, так как могут " +"содержать любое количество поддисков, а поддиски могут быть разной длины. " +"Плекс может быть расширен путём добавления дополнительных поддисков. Они " +"требуют меньше процессорного времени, чем чередующиеся плексы, хотя разница " +"в нагрузке на процессор незначительна. С другой стороны, они наиболее " +"подвержены \"горячим точкам\", когда один диск очень активен, а другие " +"простаивают." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:196 +msgid "" +"A _striped plex_ stripes the data across each subdisk. The subdisks must all " +"be the same size and there must be at least two subdisks to distinguish it " +"from a concatenated plex. The greatest advantage of striped plexes is that " +"they reduce hot spots. By choosing an optimum sized stripe, about 256 kB, " +"the load can be evened out on the component drives. Extending a plex by " +"adding new subdisks is so complicated that [.filename]#vinum# does not " +"implement it." +msgstr "" +"_Плекс с чередованием_ распределяет данные по каждому поддиску. Поддиски " +"должны быть одного размера, и их должно быть как минимум два, чтобы отличить " +"такой плекс от объединенного. Главное преимущество чередующихся плексов в " +"том, что они уменьшают вероятность появления \"горячих точек\". Выбрав " +"оптимальный размер полосы (около 256 КБ), можно равномерно распределить " +"нагрузку на диски – компоненты системы. Расширение плекса путем добавления " +"новых поддисков настолько сложно, что [.filename]#vinum# не реализует эту " +"возможность." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:198 +msgid "" +"crossref:vinum[vinum-comparison, [.filename]#vinum# Plex Organizations] " +"summarizes the advantages and disadvantages of each plex organization." +msgstr "" +"crossref:vinum[vinum-comparison, Организации плексов в [.filename]#vinum#] " +"обобщает преимущества и недостатки каждой организации плексов." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:200 +#, no-wrap +msgid "[.filename]#vinum# Plex Organizations" +msgstr "Организации плексов в [.filename]#vinum#" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:204 +#, no-wrap +msgid "Plex type" +msgstr "Тип плекса" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:205 +#, no-wrap +msgid "Minimum subdisks" +msgstr "Минимальное количество поддисков" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:206 +#, no-wrap +msgid "Can add subdisks" +msgstr "Может добавлять поддиски" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:207 +#, no-wrap +msgid "Must be equal size" +msgstr "Должен быть равного размера" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:209 +#, no-wrap +msgid "Application" +msgstr "Приложение" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:210 +#, no-wrap +msgid "concatenated" +msgstr "объединённый" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:211 +#, no-wrap +msgid "1" +msgstr "1" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:212 +#: documentation/content/en/articles/vinum/_index.adoc:219 +#, no-wrap +msgid "yes" +msgstr "да" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:213 +#: documentation/content/en/articles/vinum/_index.adoc:218 +#, no-wrap +msgid "no" +msgstr "no" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:215 +#, no-wrap +msgid "Large data storage with maximum placement flexibility and moderate performance" +msgstr "Крупное хранилище данных с максимальной гибкостью размещения и умеренной производительностью" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:216 +#, no-wrap +msgid "striped" +msgstr "чередуемый" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:217 +#, no-wrap +msgid "2" +msgstr "2" + +#. type: Table +#: documentation/content/en/articles/vinum/_index.adoc:220 +#, no-wrap +msgid "High performance in combination with highly concurrent access" +msgstr "Высокая производительность в сочетании с высокопараллельным доступом" + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:223 +#, no-wrap +msgid "Some Examples" +msgstr "Некоторые примеры" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:229 +msgid "" +"[.filename]#vinum# maintains a _configuration database_ which describes the " +"objects known to an individual system. Initially, the user creates the " +"configuration database from one or more configuration files using " +"man:gvinum[8]. [.filename]#vinum# stores a copy of its configuration " +"database on each disk _device_ under its control. This database is updated " +"on each state change, so that a restart accurately restores the state of " +"each [.filename]#vinum# object." +msgstr "" +"[.filename]#vinum# поддерживает _базу данных конфигурации_, которая " +"описывает объекты, известные конкретной системе. Первоначально пользователь " +"создает базу данных конфигурации из одного или нескольких конфигурационных " +"файлов с помощью man:gvinum[8]. [.filename]#vinum# хранит копию своей базы " +"данных конфигурации на каждом _устройстве_ диска, находящемся под его " +"управлением. Эта база данных обновляется при каждом изменении состояния, так " +"что перезапуск точно восстанавливает состояние каждого объекта " +"[.filename]#vinum#." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:230 +#, no-wrap +msgid "The Configuration File" +msgstr "Файл конфигурации" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:234 +msgid "" +"The configuration file describes individual [.filename]#vinum# objects. The " +"definition of a simple volume might be:" +msgstr "" +"Файл конфигурации описывает отдельные объекты [.filename]#vinum#. " +"Определение простого тома может выглядеть следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:241 +#, no-wrap +msgid "" +" drive a device /dev/da3h\n" +" volume myvol\n" +" plex org concat\n" +" sd length 512m drive a\n" +msgstr "" +" drive a device /dev/da3h\n" +" volume myvol\n" +" plex org concat\n" +" sd length 512m drive a\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:244 +msgid "This file describes four [.filename]#vinum# objects:" +msgstr "Этот файл описывает четыре объекта [.filename]#vinum#:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:246 +msgid "" +"The _drive_ line describes a disk partition (_drive_) and its location " +"relative to the underlying hardware. It is given the symbolic name _a_. This " +"separation of symbolic names from device names allows disks to be moved from " +"one location to another without confusion." +msgstr "" +"Строка _drive_ описывает раздел диска (_drive_) и его расположение " +"относительно оборудования, на котором он расположен. Ему присваивается " +"символическое имя _a_. Такое разделение символических имён от имён устройств " +"позволяет перемещать диски из одного места в другое без путаницы." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:247 +msgid "" +"The _volume_ line describes a volume. The only required attribute is the " +"name, in this case _myvol_." +msgstr "" +"Строка _volume_ описывает том. Единственный обязательный атрибут — это имя, " +"в данном случае _myvol_." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:248 +msgid "" +"The _plex_ line defines a plex. The only required parameter is the " +"organization, in this case _concat_. No name is necessary as the system " +"automatically generates a name from the volume name by adding the suffix " +"_.px_, where _x_ is the number of the plex in the volume. Thus this plex " +"will be called _myvol.p0_." +msgstr "" +"Строка _plex_ определяет плекс. Единственный обязательный параметр — это " +"организация, в данном случае _concat_. Имя не требуется, так как система " +"автоматически генерирует его из имени тома, добавляя суффикс _.px_, где _x_ " +"— номер плекса в томе. Таким образом, этот плекс будет называться _myvol.p0_." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:249 +msgid "" +"The _sd_ line describes a subdisk. The minimum specifications are the name " +"of a drive on which to store it, and the length of the subdisk. No name is " +"necessary as the system automatically assigns names derived from the plex " +"name by adding the suffix _.sx_, where _x_ is the number of the subdisk in " +"the plex. Thus [.filename]#vinum# gives this subdisk the name _myvol.p0.s0_." +msgstr "" +"Строка _sd_ описывает поддиск. Минимальные требования — это имя диска для " +"его хранения и длина поддиска. Имя не обязательно, так как система " +"автоматически назначает имена, производные от имени плекса, добавляя суффикс " +"_.sx_, где _x_ — номер поддиска в плексе. Таким образом, [.filename]#vinum# " +"присваивает этому поддиску имя _myvol.p0.s0_." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:251 +msgid "" +"After processing this file, man:gvinum[8] produces the following output:" +msgstr "" +"После обработки этого файла команда man:gvinum[8] выводит следующий " +"результат:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:261 +#, no-wrap +msgid "" +"# gvinum -> create config1\n" +"Configuration summary\n" +"Drives: 1 (4 configured)\n" +"Volumes: 1 (4 configured)\n" +"Plexes: 1 (8 configured)\n" +"Subdisks: 1 (16 configured)\n" +msgstr "" +"# gvinum -> create config1\n" +"Configuration summary\n" +"Drives: 1 (4 configured)\n" +"Volumes: 1 (4 configured)\n" +"Plexes: 1 (8 configured)\n" +"Subdisks: 1 (16 configured)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:263 +#, no-wrap +msgid " D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)\n" +msgstr " D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:265 +#, no-wrap +msgid " V myvol State: up Plexes: 1 Size: 512 MB\n" +msgstr " V myvol State: up Plexes: 1 Size: 512 MB\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:267 +#, no-wrap +msgid " P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n" +msgstr " P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:269 +#, no-wrap +msgid " S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n" +msgstr " S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:273 +msgid "" +"This output shows the brief listing format of man:gvinum[8]. It is " +"represented graphically in crossref:vinum[vinum-simple-vol, A Simple " +"[.filename]#vinum# Volume]." +msgstr "" +"Этот вывод показывает краткий формат списка man:gvinum[8]. Он представлен " +"графически в crossref:vinum[vinum-simple-vol, Простой том " +"[.filename]#vinum#]." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:275 +#, no-wrap +msgid "A Simple [.filename]#vinum# Volume" +msgstr "Простой том [.filename]#vinum#" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:276 +#, no-wrap +msgid "vinum-simple-vol.png" +msgstr "vinum-simple-vol.png" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:280 +msgid "" +"This figure, and the ones which follow, represent a volume, which contains " +"the plexes, which in turn contains the subdisks. In this example, the " +"volume contains one plex, and the plex contains one subdisk." +msgstr "" +"Этот рисунок и следующие представляют том, который содержит плексы, которые, " +"в свою очередь, содержат поддиски. В этом примере том содержит один плекс, а " +"плекс содержит один поддиск." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:285 +msgid "" +"This particular volume has no specific advantage over a conventional disk " +"partition. It contains a single plex, so it is not redundant. The plex " +"contains a single subdisk, so there is no difference in storage allocation " +"from a conventional disk partition. The following sections illustrate " +"various more interesting configuration methods." +msgstr "" +"Этот конкретный том не имеет особых преимуществ по сравнению с обычным " +"разделом диска. Он содержит один плекс, поэтому не является избыточным. " +"Плекс содержит один поддиск, поэтому нет различий в распределении хранилища " +"по сравнению с обычным разделом диска. В следующих разделах показаны " +"различные более интересные методы конфигурации." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:286 +#, no-wrap +msgid "Increased Resilience: Mirroring" +msgstr "Увеличенная отказоустойчивость: зеркалирование" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:291 +msgid "" +"The resilience of a volume can be increased by mirroring. When laying out a " +"mirrored volume, it is important to ensure that the subdisks of each plex " +"are on different drives, so that a drive failure will not take down both " +"plexes. The following configuration mirrors a volume:" +msgstr "" +"Устойчивость тома может быть повышена за счёт зеркалирования. При создании " +"зеркального тома важно убедиться, что поддиски каждого плекса находятся на " +"разных дисках, чтобы выход из строя одного диска не затронул оба плекса. " +"Следующая конфигурация создаёт зеркальный том:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:300 +#, no-wrap +msgid "" +"\tdrive b device /dev/da4h\n" +"\tvolume mirror\n" +" plex org concat\n" +" sd length 512m drive a\n" +"\t plex org concat\n" +"\t sd length 512m drive b\n" +msgstr "" +"\tdrive b device /dev/da4h\n" +"\tvolume mirror\n" +" plex org concat\n" +" sd length 512m drive a\n" +"\t plex org concat\n" +"\t sd length 512m drive b\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:304 +msgid "" +"In this example, it was not necessary to specify a definition of drive _a_ " +"again, since [.filename]#vinum# keeps track of all objects in its " +"configuration database. After processing this definition, the configuration " +"looks like:" +msgstr "" +"В этом примере не потребовалось снова указывать определение диска _a_, " +"поскольку [.filename]#vinum# отслеживает все объекты в своей базе данных " +"конфигурации. После обработки этого определения конфигурация выглядит " +"следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:312 +#, no-wrap +msgid "" +"\tDrives: 2 (4 configured)\n" +"\tVolumes: 2 (4 configured)\n" +"\tPlexes: 3 (8 configured)\n" +"\tSubdisks: 3 (16 configured)\n" +msgstr "" +"\tDrives: 2 (4 configured)\n" +"\tVolumes: 2 (4 configured)\n" +"\tPlexes: 3 (8 configured)\n" +"\tSubdisks: 3 (16 configured)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:315 +#, no-wrap +msgid "" +"\tD a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)\n" +"\tD b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)\n" +msgstr "" +"\tD a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)\n" +"\tD b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:318 +#, no-wrap +msgid "" +" V myvol State: up Plexes: 1 Size: 512 MB\n" +" V mirror State: up Plexes: 2 Size: 512 MB\n" +msgstr "" +" V myvol State: up Plexes: 1 Size: 512 MB\n" +" V mirror State: up Plexes: 2 Size: 512 MB\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:322 +#, no-wrap +msgid "" +" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n" +msgstr "" +" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:326 +#, no-wrap +msgid "" +" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n" +"\tS mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n" +"\tS mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n" +msgstr "" +" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n" +"\tS mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n" +"\tS mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:329 +msgid "" +"crossref:vinum[vinum-mirrored-vol, A Mirrored [.filename]#vinum# Volume] " +"shows the structure graphically." +msgstr "" +"crossref:vinum[vinum-mirrored-vol, Зеркальный том [.filename]#vinum#] " +"графически отображает структуру." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:331 +#, no-wrap +msgid "A Mirrored [.filename]#vinum# Volume" +msgstr "Зеркальный том [.filename]#vinum#" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:332 +#, no-wrap +msgid "vinum-mirrored-vol.png" +msgstr "vinum-mirrored-vol.png" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:336 +msgid "" +"In this example, each plex contains the full 512 MB of address space. As in " +"the previous example, each plex contains only a single subdisk." +msgstr "" +"В этом примере каждый плекс содержит полные 512 МБ адресного пространства. " +"Как и в предыдущем примере, каждый плекс содержит только один поддиск." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:337 +#, no-wrap +msgid "Optimizing Performance" +msgstr "Оптимизация производительности" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:342 +msgid "" +"The mirrored volume in the previous example is more resistant to failure " +"than an unmirrored volume, but its performance is less as each write to the " +"volume requires a write to both drives, using up a greater proportion of the " +"total disk bandwidth. Performance considerations demand a different " +"approach: instead of mirroring, the data is striped across as many disk " +"drives as possible. The following configuration shows a volume with a plex " +"striped across four disk drives:" +msgstr "" +"Зеркальный том в предыдущем примере более устойчив к сбоям, чем незеркальный " +"том, но его производительность ниже, так как каждая запись в том требует " +"записи на оба диска, используя большую часть общей пропускной способности " +"дисков. Соображения производительности требуют другого подхода: вместо " +"зеркалирования данные распределяются по полосам на максимально возможное " +"количество дисков. Следующая конфигурация показывает том с плексом, " +"распределённым по полосам на четырёх дисках:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:353 +#, no-wrap +msgid "" +" drive c device /dev/da5h\n" +"\tdrive d device /dev/da6h\n" +"\tvolume stripe\n" +"\tplex org striped 512k\n" +"\t sd length 128m drive a\n" +"\t sd length 128m drive b\n" +"\t sd length 128m drive c\n" +"\t sd length 128m drive d\n" +msgstr "" +" drive c device /dev/da5h\n" +"\tdrive d device /dev/da6h\n" +"\tvolume stripe\n" +"\tplex org striped 512k\n" +"\t sd length 128m drive a\n" +"\t sd length 128m drive b\n" +"\t sd length 128m drive c\n" +"\t sd length 128m drive d\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:357 +msgid "" +"As before, it is not necessary to define the drives which are already known " +"to [.filename]#vinum#. After processing this definition, the configuration " +"looks like:" +msgstr "" +"Как и ранее, не нужно определять диски, которые уже известны " +"[.filename]#vinum#. После обработки этого определения конфигурация выглядит " +"следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:365 +#, no-wrap +msgid "" +"\tDrives: 4 (4 configured)\n" +"\tVolumes: 3 (4 configured)\n" +"\tPlexes: 4 (8 configured)\n" +"\tSubdisks: 7 (16 configured)\n" +msgstr "" +"\tDrives: 4 (4 configured)\n" +"\tVolumes: 3 (4 configured)\n" +"\tPlexes: 4 (8 configured)\n" +"\tSubdisks: 7 (16 configured)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:370 +#, no-wrap +msgid "" +" D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)\n" +" D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)\n" +" D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)\n" +" D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)\n" +msgstr "" +" D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)\n" +" D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)\n" +" D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)\n" +" D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:374 +#, no-wrap +msgid "" +" V myvol State: up Plexes: 1 Size: 512 MB\n" +" V mirror State: up Plexes: 2 Size: 512 MB\n" +" V striped State: up Plexes: 1 Size: 512 MB\n" +msgstr "" +" V myvol State: up Plexes: 1 Size: 512 MB\n" +" V mirror State: up Plexes: 2 Size: 512 MB\n" +" V striped State: up Plexes: 1 Size: 512 MB\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:379 +#, no-wrap +msgid "" +" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n" +" P striped.p1 State: up Subdisks: 1 Size: 512 MB\n" +msgstr "" +" P myvol.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p0 C State: up Subdisks: 1 Size: 512 MB\n" +" P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB\n" +" P striped.p1 State: up Subdisks: 1 Size: 512 MB\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:387 +#, no-wrap +msgid "" +" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n" +" S mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n" +" S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n" +" S striped.p0.s0 State: up PO: 0 B Size: 128 MB\n" +" S striped.p0.s1 State: up PO: 512 kB Size: 128 MB\n" +" S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB\n" +" S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB\n" +msgstr "" +" S myvol.p0.s0 State: up PO: 0 B Size: 512 MB\n" +" S mirror.p0.s0 State: up PO: 0 B Size: 512 MB\n" +" S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB\n" +" S striped.p0.s0 State: up PO: 0 B Size: 128 MB\n" +" S striped.p0.s1 State: up PO: 512 kB Size: 128 MB\n" +" S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB\n" +" S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB\n" + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:390 +#, no-wrap +msgid "A Striped [.filename]#vinum# Volume" +msgstr "Том [.filename]#vinum# с чередованием" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:391 +#, no-wrap +msgid "vinum-striped-vol.png" +msgstr "vinum-striped-vol.png" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:395 +msgid "" +"This volume is represented in crossref:vinum[vinum-striped-vol, A Striped " +"[.filename]#vinum# Volume]. The darkness of the stripes indicates the " +"position within the plex address space, where the lightest stripes come " +"first and the darkest last." +msgstr "" +"Этот том представлен на схеме crossref:vinum[vinum-striped-vol, Том " +"[.filename]#vinum# с чередованием]. Темнота полос указывает на позицию в " +"адресном пространстве плекса, где самые светлые полосы идут первыми, а самые " +"темные — последними." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:396 +#, no-wrap +msgid "Resilience and Performance" +msgstr "Устойчивость и производительность" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:400 +msgid "" +"[[vinum-resilience]]With sufficient hardware, it is possible to build " +"volumes which show both increased resilience and increased performance " +"compared to standard UNIX(R) partitions. A typical configuration file might " +"be:" +msgstr "" +"[[vinum-resilience]]При достаточном аппаратном обеспечении можно создать " +"тома, которые демонстрируют как повышенную отказоустойчивость, так и " +"увеличенную производительность по сравнению со стандартными разделами " +"UNIX(R). Типичный конфигурационный файл может выглядеть так:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:416 +#, no-wrap +msgid "" +"\tvolume raid10\n" +" plex org striped 512k\n" +" sd length 102480k drive a\n" +" sd length 102480k drive b\n" +" sd length 102480k drive c\n" +" sd length 102480k drive d\n" +" sd length 102480k drive e\n" +" plex org striped 512k\n" +" sd length 102480k drive c\n" +" sd length 102480k drive d\n" +" sd length 102480k drive e\n" +" sd length 102480k drive a\n" +" sd length 102480k drive b\n" +msgstr "" +"\tvolume raid10\n" +" plex org striped 512k\n" +" sd length 102480k drive a\n" +" sd length 102480k drive b\n" +" sd length 102480k drive c\n" +" sd length 102480k drive d\n" +" sd length 102480k drive e\n" +" plex org striped 512k\n" +" sd length 102480k drive c\n" +" sd length 102480k drive d\n" +" sd length 102480k drive e\n" +" sd length 102480k drive a\n" +" sd length 102480k drive b\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:420 +msgid "" +"The subdisks of the second plex are offset by two drives from those of the " +"first plex. This helps to ensure that writes do not go to the same subdisks " +"even if a transfer goes over two drives." +msgstr "" +"Поддиски второго плекса смещены на два диска относительно поддисков первого " +"плекса. Это помогает гарантировать, что записи не будут направляться на одни " +"и те же поддиски, даже если передача затронет два диска." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:422 +msgid "" +"crossref:vinum[vinum-raid10-vol, A Mirrored, Striped [.filename]#vinum# " +"Volume] represents the structure of this volume." +msgstr "" +"crossref:vinum[vinum-raid10-vol, Том [.filename]#vinum# c зеркалированием и " +"чередованием] представляет структуру этого тома." + +#. type: Block title +#: documentation/content/en/articles/vinum/_index.adoc:424 +#, no-wrap +msgid "A Mirrored, Striped [.filename]#vinum# Volume" +msgstr "Том [.filename]#vinum# c зеркалированием и чередованием" + +#. type: Target for macro image +#: documentation/content/en/articles/vinum/_index.adoc:425 +#, no-wrap +msgid "vinum-raid10-vol.png" +msgstr "vinum-raid10-vol.png" + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:428 +#, no-wrap +msgid "Object Naming" +msgstr "Именование объектов" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:432 +msgid "" +"[.filename]#vinum# assigns default names to plexes and subdisks, although " +"they may be overridden. Overriding the default names is not recommended as " +"it does not bring a significant advantage and it can cause confusion." +msgstr "" +"[.filename]#vinum# назначает стандартные имена для плексов и поддисков, хотя " +"их можно изменить. Не рекомендуется изменять стандартные имена, так как это " +"не дает значительных преимуществ и может вызвать путаницу." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:435 +msgid "" +"Names may contain any non-blank character, but it is recommended to restrict " +"them to letters, digits and the underscore characters. The names of " +"volumes, plexes, and subdisks may be up to 64 characters long, and the names " +"of drives may be up to 32 characters long." +msgstr "" +"Имена могут содержать любые непустые символы, но рекомендуется " +"ограничиваться буквами, цифрами и символами подчёркивания. Имена томов, " +"плексов и поддисков могут быть длиной до 64 символов, а имена дисков — до 32 " +"символов." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:438 +msgid "" +"[.filename]#vinum# objects are assigned device nodes in the hierarchy " +"[.filename]#/dev/gvinum#. The configuration shown above would cause " +"[.filename]#vinum# to create the following device nodes:" +msgstr "" +"Объектам [.filename]#vinum# назначаются узлы устройств в иерархии " +"[.filename]#/dev/gvinum#. Приведённая выше конфигурация приведёт к тому, что " +"[.filename]#vinum# создаст следующие узлы устройств:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:440 +msgid "" +"Device entries for each volume. These are the main devices used by " +"[.filename]#vinum#. The configuration above would include the devices " +"[.filename]#/dev/gvinum/myvol#, [.filename]#/dev/gvinum/mirror#, " +"[.filename]#/dev/gvinum/striped#, [.filename]#/dev/gvinum/raid5# and " +"[.filename]#/dev/gvinum/raid10#." +msgstr "" +"Записи устройств для каждого тома. Это основные устройства, используемые " +"[.filename]#vinum#. Приведённая конфигурация включает устройства " +"[.filename]#/dev/gvinum/myvol#, [.filename]#/dev/gvinum/mirror#, " +"[.filename]#/dev/gvinum/striped#, [.filename]#/dev/gvinum/raid5# и " +"[.filename]#/dev/gvinum/raid10#." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:441 +msgid "All volumes get direct entries under [.filename]#/dev/gvinum/#." +msgstr "Все тома получают собственные записи в [.filename]#/dev/gvinum/#." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:442 +msgid "" +"The directories [.filename]#/dev/gvinum/plex#, and [.filename]#/dev/gvinum/" +"sd#, which contain device nodes for each plex and for each subdisk, " +"respectively." +msgstr "" +"Каталоги [.filename]#/dev/gvinum/plex# и [.filename]#/dev/gvinum/sd#, " +"которые содержат узлы устройств для каждого плекса и каждого субдиска " +"соответственно." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:444 +msgid "For example, consider the following configuration file:" +msgstr "Например, рассмотрим следующий конфигурационный файл:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:457 +#, no-wrap +msgid "" +"\tdrive drive1 device /dev/sd1h\n" +"\tdrive drive2 device /dev/sd2h\n" +"\tdrive drive3 device /dev/sd3h\n" +"\tdrive drive4 device /dev/sd4h\n" +" volume s64 setupstate\n" +" plex org striped 64k\n" +" sd length 100m drive drive1\n" +" sd length 100m drive drive2\n" +" sd length 100m drive drive3\n" +" sd length 100m drive drive4\n" +msgstr "" +"\tdrive drive1 device /dev/sd1h\n" +"\tdrive drive2 device /dev/sd2h\n" +"\tdrive drive3 device /dev/sd3h\n" +"\tdrive drive4 device /dev/sd4h\n" +" volume s64 setupstate\n" +" plex org striped 64k\n" +" sd length 100m drive drive1\n" +" sd length 100m drive drive2\n" +" sd length 100m drive drive3\n" +" sd length 100m drive drive4\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:460 +msgid "" +"After processing this file, man:gvinum[8] creates the following structure in " +"[.filename]#/dev/gvinum#:" +msgstr "" +"После обработки этого файла man:gvinum[8] создает следующую структуру в " +"[.filename]#/dev/gvinum#:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:467 +#, no-wrap +msgid "" +"\tdrwxr-xr-x 2 root wheel 512 Apr 13\n" +"16:46 plex\n" +"\tcrwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64\n" +"\tdrwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd\n" +msgstr "" +"\tdrwxr-xr-x 2 root wheel 512 Apr 13\n" +"16:46 plex\n" +"\tcrwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64\n" +"\tdrwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:471 +#, no-wrap +msgid "" +" /dev/vinum/plex:\n" +" total 0\n" +" crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0\n" +msgstr "" +" /dev/vinum/plex:\n" +" total 0\n" +" crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:478 +#, no-wrap +msgid "" +" /dev/vinum/sd:\n" +" total 0\n" +" crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0\n" +" crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1\n" +" crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2\n" +" crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3\n" +msgstr "" +" /dev/vinum/sd:\n" +" total 0\n" +" crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0\n" +" crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1\n" +" crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2\n" +" crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:483 +msgid "" +"Although it is recommended that plexes and subdisks should not be allocated " +"specific names, [.filename]#vinum# drives must be named. This makes it " +"possible to move a drive to a different location and still recognize it " +"automatically. Drive names may be up to 32 characters long." +msgstr "" +"Хотя рекомендуется не назначать конкретные имена плексам и поддискам, диски " +"[.filename]#vinum# должны быть именованными. Это позволяет переместить диск " +"в другое место и по-прежнему автоматически его распознавать. Имена дисков " +"могут быть длиной до 32 символов." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:484 +#, no-wrap +msgid "Creating File Systems" +msgstr "Создание файловых систем" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:492 +msgid "" +"Volumes appear to the system to be identical to disks, with one exception. " +"Unlike UNIX(R) drives, [.filename]#vinum# does not partition volumes, which " +"thus do not contain a partition table. This has required modification to " +"some disk utilities, notably man:newfs[8], so that it does not try to " +"interpret the last letter of a [.filename]#vinum# volume name as a partition " +"identifier. For example, a disk drive may have a name like [.filename]#/dev/" +"ad0a# or [.filename]#/dev/da2h#. These names represent the first partition " +"([.filename]#a#) on the first (0) IDE disk ([.filename]#ad#) and the eighth " +"partition ([.filename]#h#) on the third (2) SCSI disk ([.filename]#da#) " +"respectively. By contrast, a [.filename]#vinum# volume might be called " +"[.filename]#/dev/gvinum/concat#, which has no relationship with a partition " +"name." +msgstr "" +"Тома для системы выглядят идентично дискам, за одним исключением. В отличие " +"от дисков UNIX(R), [.filename]#vinum# не разбивает тома на разделы, поэтому " +"они не содержат таблицы разделов. Это потребовало внесения изменений в " +"некоторые утилиты для работы с дисками, в частности, в man:newfs[8], чтобы " +"они не пытались интерпретировать последнюю букву имени тома " +"[.filename]#vinum# как идентификатор раздела. Например, имя диска может " +"выглядеть как [.filename]#/dev/ad0a# или [.filename]#/dev/da2h#. Эти имена " +"обозначают первый раздел ([.filename]#a#) на первом (0) IDE-диске " +"([.filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-" +"диске ([.filename]#da#) соответственно. В отличие от этого, том " +"[.filename]#vinum# может называться [.filename]#/dev/gvinum/concat#, что не " +"имеет отношения к имени раздела." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:494 +msgid "To create a file system on this volume, use man:newfs[8]:" +msgstr "Чтобы создать файловую систему на этом томе, используйте man:newfs[8]:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:498 +#, no-wrap +msgid "# newfs /dev/gvinum/concat\n" +msgstr "# newfs /dev/gvinum/concat\n" + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:501 +#, no-wrap +msgid "Configuring [.filename]#vinum#" +msgstr "Настройка [.filename]#vinum#" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:507 +msgid "" +"The [.filename]#GENERIC# kernel does not contain [.filename]#vinum#. It is " +"possible to build a custom kernel which includes [.filename]#vinum#, but " +"this is not recommended. The standard way to start [.filename]#vinum# is as " +"a kernel module. man:kldload[8] is not needed because when man:gvinum[8] " +"starts, it checks whether the module has been loaded, and if it is not, it " +"loads it automatically." +msgstr "" +"Ядро [.filename]#GENERIC# не содержит [.filename]#vinum#. Можно собрать " +"пользовательское ядро с включённым [.filename]#vinum#, но это не " +"рекомендуется. Стандартный способ запуска [.filename]#vinum# — в качестве " +"модуля ядра. Команда man:kldload[8] не требуется, так как при запуске " +"man:gvinum[8] проверяет, загружен ли модуль, и если нет, загружает его " +"автоматически." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:508 +#, no-wrap +msgid "Startup" +msgstr "Запуск" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:513 +msgid "" +"[.filename]#vinum# stores configuration information on the disk slices in " +"essentially the same form as in the configuration files. When reading from " +"the configuration database, [.filename]#vinum# recognizes a number of " +"keywords which are not allowed in the configuration files. For example, a " +"disk configuration might contain the following text:" +msgstr "" +"[.filename]#vinum# хранит конфигурационную информацию на дисковых слайсах " +"практически в той же форме, что и в конфигурационных файлах. При чтении из " +"базы данных конфигурации [.filename]#vinum# распознаёт ряд ключевых слов, " +"которые не допускаются в конфигурационных файлах. Например, конфигурация " +"диска может содержать следующий текст:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:535 +#, no-wrap +msgid "" +"volume myvol state up\n" +"volume bigraid state down\n" +"plex name myvol.p0 state up org concat vol myvol\n" +"plex name myvol.p1 state up org concat vol myvol\n" +"plex name myvol.p2 state init org striped 512b vol myvol\n" +"plex name bigraid.p0 state initializing org raid5 512b vol bigraid\n" +"sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b\n" +"sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b\n" +"sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b\n" +"sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b\n" +"sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b\n" +"sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b\n" +"sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b\n" +"sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b\n" +"sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b\n" +"sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b\n" +"sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b\n" +"sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b\n" +"sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b\n" +msgstr "" +"volume myvol state up\n" +"volume bigraid state down\n" +"plex name myvol.p0 state up org concat vol myvol\n" +"plex name myvol.p1 state up org concat vol myvol\n" +"plex name myvol.p2 state init org striped 512b vol myvol\n" +"plex name bigraid.p0 state initializing org raid5 512b vol bigraid\n" +"sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b\n" +"sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b\n" +"sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b\n" +"sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b\n" +"sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b\n" +"sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b\n" +"sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b\n" +"sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b\n" +"sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b\n" +"sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b\n" +"sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b\n" +"sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b\n" +"sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:541 +msgid "" +"The obvious differences here are the presence of explicit location " +"information and naming, both of which are allowed but discouraged, and the " +"information on the states. [.filename]#vinum# does not store information " +"about drives in the configuration information. It finds the drives by " +"scanning the configured disk drives for partitions with a [.filename]#vinum# " +"label. This enables [.filename]#vinum# to identify drives correctly even if " +"they have been assigned different UNIX(R) drive IDs." +msgstr "" +"Очевидные различия здесь — наличие явной информации о местоположении и " +"именования, что разрешено, но не рекомендуется, а также информация о " +"состояниях. [.filename]#vinum# не хранит сведения о дисках в " +"конфигурационной информации. Он находит диски, сканируя настроенные дисковые " +"накопители на наличие разделов с меткой [.filename]#vinum#. Это позволяет " +"[.filename]#vinum# корректно идентифицировать диски, даже если им были " +"присвоены разные идентификаторы дисков UNIX(R)." + +#. type: Title ==== +#: documentation/content/en/articles/vinum/_index.adoc:543 +#, no-wrap +msgid "Automatic Startup" +msgstr "Автоматический запуск" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:547 +msgid "" +"_Gvinum_ always features an automatic startup once the kernel module is " +"loaded, via man:loader.conf[5]. To load the _Gvinum_ module at boot time, " +"add `geom_vinum_load=\"YES\"` to [.filename]#/boot/loader.conf#." +msgstr "" +"_Gvinum_ всегда запускается автоматически после загрузки модуля ядра через " +"man:loader.conf[5]. Чтобы загрузить модуль _Gvinum_ при загрузке системы, " +"добавьте `geom_vinum_load=\"YES\"` в [.filename]#/boot/loader.conf#." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:552 +msgid "" +"When [.filename]#vinum# is started with `gvinum start`, [.filename]#vinum# " +"reads the configuration database from one of the [.filename]#vinum# drives. " +"Under normal circumstances, each drive contains an identical copy of the " +"configuration database, so it does not matter which drive is read. After a " +"crash, however, [.filename]#vinum# must determine which drive was updated " +"most recently and read the configuration from this drive. It then updates " +"the configuration, if necessary, from progressively older drives." +msgstr "" +"Когда [.filename]#vinum# запускается командой `gvinum start`, " +"[.filename]#vinum# читает конфигурационную базу данных с одного из дисков " +"[.filename]#vinum#. В нормальных условиях каждый диск содержит идентичную " +"копию конфигурационной базы данных, поэтому не имеет значения, с какого " +"диска читать. Однако после сбоя [.filename]#vinum# должен определить, какой " +"диск был обновлён последним, и прочитать конфигурацию с этого диска. Затем, " +"если необходимо, он обновляет конфигурацию последовательно с более старых " +"дисков." + +#. type: Title == +#: documentation/content/en/articles/vinum/_index.adoc:554 +#, no-wrap +msgid "Using [.filename]#vinum# for the Root File System" +msgstr "Использование [.filename]#vinum# для корневой файловой системы" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:558 +msgid "" +"For a machine that has fully-mirrored file systems using [.filename]#vinum#, " +"it is desirable to also mirror the root file system. Setting up such a " +"configuration is less trivial than mirroring an arbitrary file system " +"because:" +msgstr "" +"Для машины с полностью зеркалированными файловыми системами с использованием " +"[.filename]#vinum#, желательно также зеркалировать корневую файловую " +"систему. Настройка такой конфигурации менее тривиальна, чем зеркалирование " +"произвольной файловой системы, потому что:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:560 +msgid "" +"The root file system must be available very early during the boot process, " +"so the [.filename]#vinum# infrastructure must already be available at this " +"time." +msgstr "" +"Корневая файловая система должна быть доступна очень рано в процессе " +"загрузки, поэтому инфраструктура [.filename]#vinum# должна быть уже доступна " +"на этом этапе." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:561 +msgid "" +"The volume containing the root file system also contains the system " +"bootstrap and the kernel. These must be read using the host system's native " +"utilities, such as the BIOS, which often cannot be taught about the details " +"of [.filename]#vinum#." +msgstr "" +"Том, содержащий корневую файловую систему, также включает системный " +"загрузчик и ядро. Они должны быть прочитаны с использованием родных утилит " +"хостовой системы, таких как BIOS, который зачастую нельзя обучить работе с " +"деталями [.filename]#vinum#." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:563 +msgid "" +"In the following sections, the term \"root volume\" is generally used to " +"describe the [.filename]#vinum# volume that contains the root file system." +msgstr "" +"В следующих разделах термин \"корневой том\" обычно используется для " +"описания тома [.filename]#vinum#, который содержит корневую файловую систему." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:564 +#, no-wrap +msgid "Starting up [.filename]#vinum# Early Enough for the Root File System" +msgstr "Запуск [.filename]#vinum# на раннем этапе для обеспечения доступа к корневой файловой системе" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:568 +msgid "" +"[.filename]#vinum# must be available early in the system boot as " +"man:loader[8] must be able to load the vinum kernel module before starting " +"the kernel. This can be accomplished by putting this line in [.filename]#/" +"boot/loader.conf#:" +msgstr "" +"Файл `[.filename]#vinum#` должен быть доступен на раннем этапе загрузки " +"системы, так как `man:loader[8]` должен загрузить модуль ядра `vinum` перед " +"запуском ядра. Это можно сделать, добавив следующую строку в `[.filename]#/" +"boot/loader.conf#`:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:572 +#, no-wrap +msgid "geom_vinum_load=\"YES\"\n" +msgstr "geom_vinum_load=\"YES\"\n" + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:574 +#, no-wrap +msgid "Making a [.filename]#vinum#-based Root Volume Accessible to the Bootstrap" +msgstr "Создание корневого тома на основе [.filename]#vinum#, доступного для загрузчика" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:579 +msgid "" +"The current FreeBSD bootstrap is only 7.5 KB of code and does not understand " +"the internal [.filename]#vinum# structures. This means that it cannot parse " +"the [.filename]#vinum# configuration data or figure out the elements of a " +"boot volume. Thus, some workarounds are necessary to provide the bootstrap " +"code with the illusion of a standard `a` partition that contains the root " +"file system." +msgstr "" +"Текущая загрузочная запись FreeBSD занимает всего 7,5 КБ кода и не понимает " +"внутренние структуры [.filename]#vinum#. Это означает, что она не может " +"разобрать конфигурационные данные [.filename]#vinum# или определить элементы " +"загрузочного тома. Таким образом, необходимы некоторые обходные решения, " +"чтобы предоставить загрузочному коду иллюзию стандартного раздела `a`, " +"содержащего корневую файловую систему." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:581 +msgid "" +"For this to be possible, the following requirements must be met for the root " +"volume:" +msgstr "Для этого должны быть выполнены следующие требования к корневому тому:" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:583 +msgid "The root volume must not be a stripe or `RAID`-5." +msgstr "Корневой том не должен быть чередующимся или `RAID`-5." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:584 +msgid "" +"The root volume must not contain more than one concatenated subdisk per plex." +msgstr "" +"Корневой том не должен содержать более одного объединённого поддиска на " +"плекс." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:590 +msgid "" +"Note that it is desirable and possible to use multiple plexes, each " +"containing one replica of the root file system. The bootstrap process will " +"only use one replica for finding the bootstrap and all boot files, until the " +"kernel mounts the root file system. Each single subdisk within these plexes " +"needs its own `a` partition illusion, for the respective device to be " +"bootable. It is not strictly needed that each of these faked `a` partitions " +"is located at the same offset within its device, compared with other devices " +"containing plexes of the root volume. However, it is probably a good idea " +"to create the [.filename]#vinum# volumes that way so the resulting mirrored " +"devices are symmetric, to avoid confusion." +msgstr "" +"Обратите внимание, что желательно и возможно использовать несколько плексов, " +"каждый из которых содержит одну реплику корневой файловой системы. Процесс " +"начальной загрузки будет использовать только одну реплику для поиска " +"загрузчика и всех загрузочных файлов, пока ядро не смонтирует корневую " +"файловую систему. Каждый отдельный поддиск в этих плексах должен иметь свою " +"собственную иллюзию раздела `a`, чтобы соответствующее устройство было " +"загрузочным. Не строго необходимо, чтобы каждый из этих фальшивых разделов " +"`a` находился на том же смещении внутри своего устройства по сравнению с " +"другими устройствами, содержащими плекс корневого тома. Однако, вероятно, " +"хорошей идеей будет создавать тома [.filename]#vinum# таким образом, чтобы " +"результирующие зеркальные устройства были симметричными, чтобы избежать " +"путаницы." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:592 +msgid "" +"To set up these `a` partitions for each device containing part of the root " +"volume, the following is required:" +msgstr "" +"Для настройки этих разделов `a` на каждом устройстве, содержащем часть " +"корневого тома, требуется следующее:" + +#. type: delimited block = 4 +#: documentation/content/en/articles/vinum/_index.adoc:596 +msgid "" +"The location, offset from the beginning of the device, and size of this " +"device's subdisk that is part of the root volume needs to be examined, using " +"the command:" +msgstr "" +"Местоположение, смещение от начала устройства и размер подобласти этого " +"устройства, которая является частью корневого тома, необходимо проверить с " +"помощью команды:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:600 +#, no-wrap +msgid "# gvinum l -rv root\n" +msgstr "# gvinum l -rv root\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:604 +msgid "" +"[.filename]#vinum# offsets and sizes are measured in bytes. They must be " +"divided by 512 to obtain the block numbers that are to be used by `bsdlabel`." +msgstr "" +"Смещения и размеры в [.filename]#vinum# измеряются в байтах. Их необходимо " +"разделить на 512, чтобы получить номера блоков, которые будут использоваться " +"в `bsdlabel`." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:605 +msgid "Run this command for each device that participates in the root volume:" +msgstr "" +"Выполните эту команду для каждого устройства, участвующего в корневом томе:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:609 +#, no-wrap +msgid "# bsdlabel -e devname\n" +msgstr "# bsdlabel -e devname\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:612 +msgid "" +"_devname_ must be either the name of the disk, like [.filename]#da0# for " +"disks without a slice table, or the name of the slice, like " +"[.filename]#ad0s1#." +msgstr "" +"`_devname_` должен быть либо именем диска, например, [.filename]#da0# для " +"дисков без таблицы разделов, либо именем раздела, например, " +"[.filename]#ad0s1#." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:615 +msgid "" +"If there is already an `a` partition on the device from a pre-" +"[.filename]#vinum# root file system, it should be renamed to something else " +"so that it remains accessible (just in case), but will no longer be used by " +"default to bootstrap the system. A currently mounted root file system " +"cannot be renamed, so this must be executed either when being booted from a " +"\"Fixit\" media, or in a two-step process where, in a mirror, the disk that " +"is not been currently booted is manipulated first." +msgstr "" +"Если на устройстве уже существует раздел `a` из корневой файловой системы до " +"[.filename]#vinum#, его следует переименовать во что-то другое, чтобы он " +"оставался доступным (на всякий случай), но больше не использовался по " +"умолчанию для загрузки системы. Текущий смонтированный корневой файловой " +"системы нельзя переименовать, поэтому это должно выполняться либо при " +"загрузке с \"Fixit\" носителя, либо в два этапа, когда в зеркале сначала " +"обрабатывается диск, с которого в данный момент не загружаются." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:621 +msgid "" +"The offset of the [.filename]#vinum# partition on this device (if any) must " +"be added to the offset of the respective root volume subdisk on this " +"device. The resulting value will become the `offset` value for the new `a` " +"partition. The `size` value for this partition can be taken verbatim from " +"the calculation above. The `fstype` should be `4.2BSD`. The `fsize`, " +"`bsize`, and `cpg` values should be chosen to match the actual file system, " +"though they are fairly unimportant within this context." +msgstr "" +"Смещение раздела [.filename]#vinum# на этом устройстве (если есть) должно " +"быть добавлено к смещению соответствующего поддиска корневого тома на этом " +"устройстве. Полученное значение станет значением `offset` для нового раздела " +"`a`. Значение `size` для этого раздела можно взять дословно из приведённых " +"выше расчётов. Для `fstype` следует указать `4.2BSD`. Значения `fsize`, " +"`bsize` и `cpg` должны быть выбраны в соответствии с реальной файловой " +"системой, хотя в данном контексте они не слишком важны." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:624 +msgid "" +"That way, a new `a` partition will be established that overlaps the " +"[.filename]#vinum# partition on this device. `bsdlabel` will only allow for " +"this overlap if the [.filename]#vinum# partition has properly been marked " +"using the `vinum` fstype." +msgstr "" +"Таким образом, будет создан новый раздел `a`, который перекрывает раздел " +"[.filename]#vinum# на этом устройстве. `bsdlabel` разрешит это перекрытие " +"только в том случае, если раздел [.filename]#vinum# был правильно помечен с " +"использованием типа файловой системы `vinum`." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:625 +msgid "" +"A faked `a` partition now exists on each device that has one replica of the " +"root volume. It is highly recommendable to verify the result using a command " +"like:" +msgstr "" +"Поддельный раздел `a` теперь существует на каждом устройстве, имеющем одну " +"реплику корневого тома. Настоятельно рекомендуется проверить результат с " +"помощью команды, например:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:629 +#, no-wrap +msgid "# fsck -n /dev/devnamea\n" +msgstr "# fsck -n /dev/devnamea\n" + +#. type: delimited block = 4 +#: documentation/content/en/articles/vinum/_index.adoc:634 +msgid "" +"It should be remembered that all files containing control information must " +"be relative to the root file system in the [.filename]#vinum# volume which, " +"when setting up a new [.filename]#vinum# root volume, might not match the " +"root file system that is currently active. So in particular, [.filename]#/" +"etc/fstab# and [.filename]#/boot/loader.conf# need to be taken care of." +msgstr "" +"Следует помнить, что все файлы, содержащие управляющую информацию, должны " +"быть относительны к корневой файловой системе в томе [.filename]#vinum#, " +"которая при настройке нового корневого тома [.filename]#vinum# может не " +"совпадать с текущей активной корневой файловой системой. Поэтому, в " +"частности, необходимо позаботиться о [.filename]#/etc/fstab# и [.filename]#/" +"boot/loader.conf#." + +#. type: delimited block = 4 +#: documentation/content/en/articles/vinum/_index.adoc:637 +msgid "" +"At next reboot, the bootstrap should figure out the appropriate control " +"information from the new [.filename]#vinum#-based root file system, and act " +"accordingly. At the end of the kernel initialization process, after all " +"devices have been announced, the prominent notice that shows the success of " +"this setup is a message like:" +msgstr "" +"При следующей перезагрузке загрузчик должен определить соответствующую " +"управляющую информацию из новой корневой файловой системы на основе " +"[.filename]#vinum# и действовать соответствующим образом. В конце процесса " +"инициализации ядра, после объявления всех устройств, явным признаком " +"успешного завершения настройки будет сообщение вида:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:641 +#, no-wrap +msgid "Mounting root from ufs:/dev/gvinum/root\n" +msgstr "Mounting root from ufs:/dev/gvinum/root\n" + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:643 +#, no-wrap +msgid "Example of a [.filename]#vinum#-based Root Setup" +msgstr "Пример настройки корневой системы на основе [.filename]#vinum#" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:646 +msgid "" +"After the [.filename]#vinum# root volume has been set up, the output of " +"`gvinum l -rv root` could look like:" +msgstr "" +"После настройки корневого тома [.filename]#vinum#, вывод команды `gvinum l " +"-rv root` может выглядеть следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:655 +#, no-wrap +msgid "" +"...\n" +"Subdisk root.p0.s0:\n" +"\t\tSize: 125829120 bytes (120 MB)\n" +"\t\tState: up\n" +"\t\tPlex root.p0 at offset 0 (0 B)\n" +"\t\tDrive disk0 (/dev/da0h) at offset 135680 (132 kB)\n" +msgstr "" +"...\n" +"Subdisk root.p0.s0:\n" +"\t\tSize: 125829120 bytes (120 MB)\n" +"\t\tState: up\n" +"\t\tPlex root.p0 at offset 0 (0 B)\n" +"\t\tDrive disk0 (/dev/da0h) at offset 135680 (132 kB)\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:661 +#, no-wrap +msgid "" +"Subdisk root.p1.s0:\n" +"\t\tSize: 125829120 bytes (120 MB)\n" +"\t\tState: up\n" +"\t\tPlex root.p1 at offset 0 (0 B)\n" +"\t\tDrive disk1 (/dev/da1h) at offset 135680 (132 kB)\n" +msgstr "" +"Subdisk root.p1.s0:\n" +"\t\tSize: 125829120 bytes (120 MB)\n" +"\t\tState: up\n" +"\t\tPlex root.p1 at offset 0 (0 B)\n" +"\t\tDrive disk1 (/dev/da1h) at offset 135680 (132 kB)\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:667 +msgid "" +"The values to note are `135680` for the offset, relative to partition " +"[.filename]#/dev/da0h#. This translates to 265 512-byte disk blocks in " +"`bsdlabel`'s terms. Likewise, the size of this root volume is 245760 512-" +"byte blocks. [.filename]#/dev/da1h#, containing the second replica of this " +"root volume, has a symmetric setup." +msgstr "" +"Значения, на которые следует обратить внимание: `135680` для смещения, " +"относительного к разделу [.filename]#/dev/da0h#. Это соответствует 265 " +"блокам диска по 512 байт в терминах `bsdlabel`. Аналогично, размер этого " +"корневого тома составляет 245760 блоков по 512 байт. [.filename]#/dev/da1h#, " +"содержащий вторую реплику этого корневого тома, имеет симметричную " +"конфигурацию." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:669 +msgid "The bsdlabel for these devices might look like:" +msgstr "Метка bsdlabel для этих устройств может выглядеть следующим образом:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/vinum/_index.adoc:678 +#, no-wrap +msgid "" +"...\n" +"8 partitions:\n" +"# size offset fstype [fsize bsize bps/cpg]\n" +" a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)\n" +" c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)\n" +" h: 71771672 16 vinum # (Cyl. 0*- 4467*)\n" +msgstr "" +"...\n" +"8 partitions:\n" +"# size offset fstype [fsize bsize bps/cpg]\n" +" a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)\n" +" c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)\n" +" h: 71771672 16 vinum # (Cyl. 0*- 4467*)\n" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:684 +msgid "" +"It can be observed that the `size` parameter for the faked `a` partition " +"matches the value outlined above, while the `offset` parameter is the sum of " +"the offset within the [.filename]#vinum# partition `h`, and the offset of " +"this partition within the device or slice. This is a typical setup that is " +"necessary to avoid the problem described in crossref:vinum[vinum-root-panic, " +"Nothing Boots, the Bootstrap Panics]. The entire `a` partition is " +"completely within the `h` partition containing all the [.filename]#vinum# " +"data for this device." +msgstr "" +"Можно заметить, что параметр `size` для поддельного раздела `a` совпадает с " +"указанным выше значением, в то время как параметр `offset` представляет " +"собой сумму смещения внутри раздела [.filename]#vinum# `h` и смещения этого " +"раздела в устройстве или слайсе. Это стандартная настройка, необходимая для " +"избежания проблемы, описанной в crossref:vinum[vinum-root-panic, Nothing " +"Boots, the Bootstrap Panics]. Весь раздел `a` полностью находится внутри " +"раздела `h`, содержащего все данные [.filename]#vinum# для этого устройства." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:686 +msgid "" +"In the above example, the entire device is dedicated to [.filename]#vinum# " +"and there is no leftover pre-[.filename]#vinum# root partition." +msgstr "" +"В приведенном выше примере все устройство выделено под [.filename]#vinum#, и " +"не осталось корневого раздела, существовавшего до [.filename]#vinum#." + +#. type: Title === +#: documentation/content/en/articles/vinum/_index.adoc:687 +#, no-wrap +msgid "Troubleshooting" +msgstr "Устранение неполадок" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:690 +msgid "The following list contains a few known pitfalls and solutions." +msgstr "" +"Следующий список содержит несколько известных подводных камней и их решения." + +#. type: Title ==== +#: documentation/content/en/articles/vinum/_index.adoc:691 +#, no-wrap +msgid "System Bootstrap Loads, but System Does Not Boot" +msgstr "Загрузчик системы загружается, но система не запускается" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:695 +msgid "" +"If for any reason the system does not continue to boot, the bootstrap can be " +"interrupted by pressing kbd:[space] at the 10-seconds warning. The loader " +"variable `vinum.autostart` can be examined by typing `show` and manipulated " +"using `set` or `unset`." +msgstr "" +"Если по какой-либо причине система не продолжает загрузку, процесс можно " +"прервать, нажав kbd:[space] при появлении 10-секундного предупреждения. " +"Переменную загрузчика `vinum.autostart` можно проверить, введя команду " +"`show`, и изменить с помощью `set` или `unset`." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:697 +msgid "" +"If the [.filename]#vinum# kernel module was not yet in the list of modules " +"to load automatically, type `load geom_vinum`." +msgstr "" +"Если модуль ядра [.filename]#vinum# еще не был в списке модулей для " +"автоматической загрузки, введите `load geom_vinum`." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:700 +msgid "" +"When ready, the boot process can be continued by typing `boot -as` which `-" +"as` requests the kernel to ask for the root file system to mount (`-a`) and " +"make the boot process stop in single-user mode (`-s`), where the root file " +"system is mounted read-only. That way, even if only one plex of a multi-" +"plex volume has been mounted, no data inconsistency between plexes is being " +"risked." +msgstr "" +"Когда всё готово, процесс загрузки можно продолжить, введя `boot -as`, где `-" +"as` указывает ядру запросить корневую файловую систему для монтирования (`-" +"a`) и остановить процесс загрузки в однопользовательском режиме (`-s`), при " +"этом корневая файловая система монтируется в режиме только для чтения. Таким " +"образом, даже если смонтирован только один слой многокомпонентного тома, не " +"возникает риска несогласованности данных между слоями." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:706 +msgid "" +"At the prompt asking for a root file system to mount, any device that " +"contains a valid root file system can be entered. If [.filename]#/etc/" +"fstab# is set up correctly, the default should be something like `ufs:/dev/" +"gvinum/root`. A typical alternate choice would be something like `ufs:da0d` " +"which could be a hypothetical partition containing the pre-" +"[.filename]#vinum# root file system. Care should be taken if one of the " +"alias `a` partitions is entered here, that it actually references the " +"subdisks of the [.filename]#vinum# root device, because in a mirrored setup, " +"this would only mount one piece of a mirrored root device. If this file " +"system is to be mounted read-write later on, it is necessary to remove the " +"other plex(es) of the [.filename]#vinum# root volume since these plexes " +"would otherwise carry inconsistent data." +msgstr "" +"На запрос о корневой файловой системе для монтирования можно ввести любое " +"устройство, содержащее действительную корневую файловую систему. Если " +"[.filename]#/etc/fstab# настроен правильно, по умолчанию должно быть что-то " +"вроде `ufs:/dev/gvinum/root`. Типичным альтернативным выбором может быть что-" +"то вроде `ufs:da0d`, что может быть гипотетическим разделом, содержащим " +"корневую файловую систему до [.filename]#vinum#. Следует быть осторожным, " +"если здесь вводится один из псевдонимов `a` разделов, чтобы он действительно " +"ссылался на поддиски устройства [.filename]#vinum# root, потому что в " +"зеркальной настройке это приведёт к монтированию только одной части " +"зеркального корневого устройства. Если эта файловая система будет позже " +"смонтирована в режиме чтения-записи, необходимо удалить другие плесксы тома " +"[.filename]#vinum# root, так как в противном случае эти плесксы будут " +"содержать несогласованные данные." + +#. type: Title ==== +#: documentation/content/en/articles/vinum/_index.adoc:707 +#, no-wrap +msgid "Only Primary Bootstrap Loads" +msgstr "Только первичная загрузка Bootstrap" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:712 +msgid "" +"If [.filename]#/boot/loader# fails to load, but the primary bootstrap still " +"loads (visible by a single dash in the left column of the screen right after " +"the boot process starts), an attempt can be made to interrupt the primary " +"bootstrap by pressing kbd:[space]. This will make the bootstrap stop in " +"extref:{handbook}[stage two, boot-boot1]. An attempt can be made here to " +"boot off an alternate partition, like the partition containing the previous " +"root file system that has been moved away from `a`." +msgstr "" +"Если [.filename]#/boot/loader# не загружается, но первичная загрузка всё ещё " +"работает (это видно по одному дефису в левой части экрана сразу после начала " +"процесса загрузки), можно попытаться прервать первичную загрузку, нажав kbd:" +"[space]. Это остановит загрузку на extref:{handbook}boot/[втором этапе, boot-" +"boot1]. Здесь можно попытаться загрузиться с альтернативного раздела, " +"например, с раздела, содержащего предыдущую корневую файловую систему, " +"которая была перемещена из `a`." + +#. type: Title ==== +#: documentation/content/en/articles/vinum/_index.adoc:714 +#, no-wrap +msgid "Nothing Boots, the Bootstrap Panics" +msgstr "Ничего не загружается, паника при загрузке" + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:720 +msgid "" +"This situation will happen if the bootstrap had been destroyed by the " +"[.filename]#vinum# installation. Unfortunately, [.filename]#vinum# " +"accidentally leaves only 4 KB at the beginning of its partition free before " +"starting to write its [.filename]#vinum# header information. However, the " +"stage one and two bootstraps plus the bsdlabel require 8 KB. So if a " +"[.filename]#vinum# partition was started at offset 0 within a slice or disk " +"that was meant to be bootable, the [.filename]#vinum# setup will trash the " +"bootstrap." +msgstr "" +"Такая ситуация произойдет, если загрузчик был уничтожен при установке " +"[.filename]#vinum#. К сожалению, [.filename]#vinum# случайно оставляет " +"свободными только первые 4 КБ в начале своего раздела перед записью " +"заголовочной информации [.filename]#vinum#. Однако, первая и вторая стадии " +"загрузчика вместе с bsdlabel требуют 8 КБ. Поэтому, если раздел " +"[.filename]#vinum# начинается со смещения 0 внутри слайса или диска, который " +"должен быть загрузочным, установка [.filename]#vinum# повредит загрузчик." + +#. type: Plain text +#: documentation/content/en/articles/vinum/_index.adoc:723 +msgid "" +"Similarly, if the above situation has been recovered, by booting from a " +"\"Fixit\" media, and the bootstrap has been re-installed using `bsdlabel -B` " +"as described in extref:{handbook}[stage two, boot-boot1], the bootstrap will " +"trash the [.filename]#vinum# header, and [.filename]#vinum# will no longer " +"find its disk(s). Though no actual [.filename]#vinum# configuration data or " +"data in [.filename]#vinum# volumes will be trashed, and it would be possible " +"to recover all the data by entering exactly the same [.filename]#vinum# " +"configuration data again, the situation is hard to fix. It is necessary to " +"move the entire [.filename]#vinum# partition by at least 4 KB, to have the " +"[.filename]#vinum# header and the system bootstrap no longer collide." +msgstr "" +"Аналогично, если описанная выше ситуация была исправлена загрузкой с " +"\"Fixit\"-носителя, и загрузчик был переустановлен с помощью `bsdlabel -B`, " +"как описано в extref:{handbook}boot/[этапе два, boot-boot1], загрузчик " +"повредит заголовок [.filename]#vinum#, и [.filename]#vinum# больше не сможет " +"найти свои диски. Хотя фактические данные конфигурации [.filename]#vinum# " +"или данные в томах [.filename]#vinum# не будут повреждены, и можно " +"восстановить все данные, введя точно такую же конфигурацию " +"[.filename]#vinum# снова, исправить ситуацию сложно. Необходимо переместить " +"весь раздел [.filename]#vinum# как минимум на 4 КБ, чтобы заголовок " +"[.filename]#vinum# и системный загрузчик больше не конфликтовали." |