From: Suzanne Goldlust Date: Tue, 18 Dec 2018 23:11:19 +0000 (-0500) Subject: Update admin.xml X-Git-Tag: 481-remote-subnet4-set-inconsistent-work-when-id-subnet-is-duplicated_base~92 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7448c45702bc7c398f90765e701feb984ea2e52f;p=thirdparty%2Fkea.git Update admin.xml --- diff --git a/doc/guide/admin.xml b/doc/guide/admin.xml index c73d24aa01..3890cc3549 100644 --- a/doc/guide/admin.xml +++ b/doc/guide/admin.xml @@ -3,7 +3,7 @@ - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - - file, You can obtain one at http://mozilla.org/MPL/2.0/. + - file, you can obtain one at http://mozilla.org/MPL/2.0/. --> @@ -15,12 +15,12 @@ Kea supports storing leases and host reservations (i.e. static - assignments of addresses, prefixes and options) in one of + assignments of addresses, prefixes, and options) in one of the several supported databases. As future versions of Kea are released, the structure of those databases will change. For example, Kea currently only stores lease information and host reservations. Future versions of Kea will store - additional data such as subnet definitions: the database + additional data such as subnet definitions, so the database structure will need to be updated to accommodate the extra information. @@ -28,12 +28,12 @@ A given version of Kea expects a particular structure in the database and checks for this by examining the version of - database it is using. Separate version numbers are maintained for + database it is using. Separate version numbers are maintained for backend databases, independent of the version of Kea itself. It is possible that the backend database version will stay the same - through several Kea revisions: similarly, it is possible that the - version of backend database may go up several revisions during a - Kea upgrade. Versions for each database are independent, so an + through several Kea revisions; similarly, it is possible that the + version of the backend database may go up several revisions during a + Kea upgrade. Versions for each database are independent, so an increment in the MySQL database version does not imply an increment in that of PostgreSQL. @@ -41,16 +41,16 @@ Backend versions are specified in a major.minor format. The minor - number is increased when there are backward compatible changes - introduced. For example, the addition of a new index. It is - desirable, but not mandatory to apply such a change; you - can run on older database version if you want to. (Although, in + number is increased when there are backward-compatible changes + introduced: for example, the addition of a new index. It is + desirable but not mandatory to apply such a change; you + can run an older database version if you want to. (Although, in the example given, running without the new index may be at the expense of a performance penalty.) On the other hand, the major - number is increased when an incompatible change is introduced, - for example an extra column is added to a table. If you try to + number is increased when an incompatible change is introduced: + for example, an extra column is added to a table. If you try to run Kea software on a database that is too old (as signified by - mismatched backend major version number), Kea will refuse to run: + a mismatched backend major version number), Kea will refuse to run; administrative action will be required to upgrade the database. @@ -69,7 +69,7 @@ kea-admin takes two mandatory parameters: command and backend. Additional, non-mandatory options - may be specified. Currently supported commands are: + may be specified. The currently supported commands are: @@ -102,16 +102,16 @@ lease-dump — - Dumps the contents of the lease database (for MySQL, PostgreSQL or - CQL backends) to a CSV (comma separated values) text file. The first - line of the file contains the column names. This is meant to be + Dumps the contents of the lease database (for MySQL, PostgreSQL, or + CQL backends) to a CSV (comma-separated values) text file. The first + line of the file contains the column names. This is meant to be used as a diagnostic tool, so it provides a portable, human-readable form of the lease data. - backend specifies the backend type. Currently + backend specifies the backend type. The currently supported types are: @@ -146,7 +146,7 @@ Additional parameters may be needed, depending on your setup - and specific operation: username, password and database name or + and specific operation: username, password, and database name or the directory where specific files are located. See the appropriate manual page for details (man 8 kea-admin). @@ -158,7 +158,7 @@ The following table presents the capabilities of available backends. Please refer to the specific sections dedicated to each backend to better understand their capabilities and limitations. Choosing the right - backend may be essential for success or failure of your deployment. + backend may be essential for the success of your deployment. @@ -230,17 +230,17 @@ The memfile backend is able to store lease information, but is not able to - store host reservation details: these must be stored in the configuration + store host reservation details; these must be stored in the configuration file. (There are no plans to add a host reservations storage capability to this backend.) No special initialization steps are necessary - for the memfile backend. During the first run, both + for the memfile backend. During the first run, both kea-dhcp4 and kea-dhcp6 will create an empty lease file if one is not - present. Necessary disk write permission is required. + present. Necessary disk-write permission is required.
@@ -250,17 +250,17 @@ from an earlier version of Kea to a new version of Kea. During startup the servers will check the schema version of the lease - files against their own. If there is a mismatch, the servers will + files against their own. If there is a mismatch, the servers will automatically launch the LFC process to convert the files to the - server's schema version. While this mechanism is primarily meant to + server's schema version. While this mechanism is primarily meant to ease the process of upgrading to newer versions of Kea, it can also - be used for downgrading should the need arise. When upgrading, any + be used for downgrading should the need arise. When upgrading, any values not present in the original lease files will be assigned - appropriate default values. When downgrading, any data present in + appropriate default values. When downgrading, any data present in the files but not in the server's schema will be dropped. - If you wish to convert the files manually, prior to starting the - servers you may do so by running the LFC process yourself. + If you wish to convert the files manually prior to starting the + servers, you may do so by running the LFC process yourself. See for more information.
@@ -271,19 +271,19 @@ MySQL - MySQL is able to store leases, host reservations and options defined on - a per host basis. This section can be safely ignored - if you chose to store the data in other backends. + MySQL is able to store leases, host reservations, and options defined on + a per-host basis. This section can be safely ignored + if you choose to store the data in other backends.
- First Time Creation of the MySQL Database + First-Time Creation of the MySQL Database If you are setting the MySQL database for the first time, you need to create the database area within MySQL and set up the MySQL user ID under which Kea will access the database. - This needs to be done manually: kea-admin + This needs to be done manually; kea-admin is not able to do this for you. @@ -324,7 +324,7 @@ mysql> GRANT ALL ON database-name.* TO (user-name and password are the user ID - and password you are using to allow Keas access to the + and password you are using to allow Kea's access to the MySQL instance. All apostrophes in the command lines above are required.) @@ -335,7 +335,7 @@ mysql> GRANT ALL ON database-name.* TO At this point, you may elect to create the database tables. (Alternatively, you can exit MySQL and create the tables using the kea-admin tool, - as explained below.) To do this: + as explained below.) To do this: mysql> CONNECT database-name; mysql> SOURCE path-to-kea/share/kea/scripts/mysql/dhcpdb_create.mysql @@ -359,17 +359,17 @@ $ - If you elected not to create the tables in step 4, you can do + If you elected not to create the tables in Step 4, you can do so now by running the kea-admin tool: $ kea-admin lease-init mysql -u database-user -p database-password -n database-name - (Do not do this if you did create the tables in step 4.) - kea-admin implements rudimentary checks: + (Do not do this if you did create the tables in Step 4.) + kea-admin implements rudimentary checks; it will refuse to initialize a database that contains any existing tables. If you want to start from scratch, you must remove all data manually. (This process is a manual - operation on purpose to avoid possibly irretrievable mistakes + operation on purpose, to avoid possibly irretrievable mistakes by kea-admin.)
@@ -378,8 +378,8 @@ $ kea-admin lease-init mysql -u database-userUpgrading a MySQL Database from an Earlier Version of Kea - Sometimes a new Kea version may use newer database schema, so - there will be a need to upgrade the existing database. This can + Sometimes a new Kea version may use a newer database schema, so + the existing database will need to be upgraded. This can be done using the kea-admin lease-upgrade command. @@ -390,16 +390,16 @@ $ kea-admin lease-init mysql -u database-userkea-admin lease-version mysql -u database-user -p database-password -n database-name (See for a discussion - about versioning.) If the version does not match the minimum + about versioning.) If the version does not match the minimum required for the new version of Kea (as described in the release notes), the database needs to be upgraded. Before upgrading, please make sure that the database is - backed up. The upgrade process does not discard any data but, + backed up. The upgrade process does not discard any data, but depending on the nature of the changes, it may be impossible - to subsequently downgrade to an earlier version. To perform + to subsequently downgrade to an earlier version. To perform an upgrade, issue the following command: $ kea-admin lease-upgrade mysql -u database-user -p database-password -n database-name @@ -412,15 +412,15 @@ $ kea-admin lease-upgrade mysql -u database-userPostgreSQL - PostgreSQL is able to store leases, host reservations and options - defined on a per host basis. + PostgreSQL is able to store leases, host reservations, and options + defined on a per-host basis. A PostgreSQL database must be set up if you want Kea to store lease and other information in PostgreSQL. This step can be safely ignored if you are using other database backends.
- First Time Creation of the PostgreSQL Database + First-Time Creation of the PostgreSQL Database The first task is to create both the lease database and the @@ -483,11 +483,11 @@ $ At this point you are ready to create the database tables. This can be done using the kea-admin tool as explained in the next section (recommended), or manually. - To create the tables manually enter the following command. + To create the tables manually, enter the following command. Note that PostgreSQL will prompt you to enter the new user's - password you specified in Step 3. When the command completes + password you specified in Step 3. When the command completes, you will be returned to the shell prompt. You should see output - similar to following: + similar to the following: $ psql -d database-name -U user-name -f path-to-kea/share/kea/scripts/pgsql/dhcpdb_create.pgsql Password for user user-name: @@ -520,16 +520,16 @@ psql: FATAL: no pg_hba.conf entry for host "[local]", user "user-n ... you will need to alter the PostgreSQL configuration. Kea uses password authentication when connecting to the database and must have the appropriate entries - added to PostgreSQL's pg_hba.conf file. This file is + added to PostgreSQL's pg_hba.conf file. This file is normally located in the primary data directory for your - PostgreSQL server. The precise path may vary but the + PostgreSQL server. The precise path may vary, but the default location for PostgreSQL 9.3 on Centos 6.5 is: /var/lib/pgsql/9.3/data/pg_hba.conf. Assuming Kea is running on the same host as PostgreSQL, - adding lines similar to following should be sufficient to + adding lines similar to the following should be sufficient to provide password-authenticated access to Kea's database: local database-name user-name password @@ -539,11 +539,11 @@ host database-name user-name - These edits are primarily intended as a starting point + These edits are primarily intended as a starting point, and are not a definitive reference on PostgreSQL administration or - database security. Please consult your PostgreSQL user - manual before making these changes as they may expose - other databases that you run. It may be necessary to + database security. Please consult your PostgreSQL user + manual before making these changes, as they may expose + other databases that you run. It may be necessary to restart PostgreSQL in order for these changes to take effect. @@ -559,12 +559,12 @@ host database-name user-name $ kea-admin lease-init pgsql -u database-user -p database-password -n database-name - Do not do this if you already created the tables in manually. - kea-admin implements rudimentary checks: + Do not do this if you already created the tables manually. + kea-admin implements rudimentary checks; it will refuse to initialize a database that contains any existing tables. If you want to start from scratch, you must remove all data manually. (This process is a manual - operation on purpose to avoid possibly irretrievable mistakes + operation on purpose, to avoid possibly irretrievable mistakes by kea-admin.)
@@ -594,25 +594,24 @@ $ kea-admin lease-upgrade pgsql -u database-user Cassandra, or Cassandra Query Language (CQL), is the newest backend - added to Kea. Since it was added recently and has not undergone as much - testing as other backends, it is considered experimental. Please use - with caution. The Cassandra backend is able to store leases, - host reservations and options defined on a per host basis. + added to Kea; initial development was contributed by Deutsche Telekom. + The Cassandra backend is able to store leases, + host reservations, and options defined on a per-host basis.
The CQL database must be properly set up if you want Kea to store - information in CQL. This section can be safely ignored if you chose to + information in CQL. This section can be safely ignored if you choose to store the data in other backends.
- First Time Creation of the Cassandra Database + First-Time Creation of the Cassandra Database If you are setting up the CQL database for the first time, you need to - create the keyspace area within CQL. This needs to be done manually: - kea-admin is not able to do this for you. + create the keyspace area within CQL. This needs to be done manually; + kea-admin cannot do this for you. @@ -651,7 +650,7 @@ cql> CREATE KEYSPACE keyspace-name WITH replication = {'class' : ' At this point, you may elect to create the database tables. (Alternatively, you can exit CQL and create the tables using the - kea-admin tool, as explained below) To do this: + kea-admin tool, as explained below.) To do this: cqslh -k keyspace-name -f path-to-kea/share/kea/scripts/cql/dhcpdb_create.cql @@ -663,18 +662,18 @@ cql> CREATE KEYSPACE keyspace-name WITH replication = {'class' : ' - If you elected not to create the tables in step 4, you can do + If you elected not to create the tables in Step 4, you can do so now by running the kea-admin tool: $ kea-admin lease-init cql -n database-name - (Do not do this if you did create the tables in step 4.) - kea-admin implements rudimentary checks: + (Do not do this if you did create the tables in Step 4.) + kea-admin implements rudimentary checks; it will refuse to initialize a database that contains any existing tables. If you want to start from scratch, you must remove all data manually. (This process is a manual - operation on purpose to avoid possibly irretrievable mistakes - by kea-admin) + operation on purpose, to avoid possibly irretrievable mistakes + by kea-admin.)
@@ -682,8 +681,8 @@ $ kea-admin lease-init cql -n database-nameUpgrading a CQL Database from an Earlier Version of Kea - Sometimes a new Kea version may use newer database schema, so - there will be a need to upgrade the existing database. This can + Sometimes a new Kea version may use a newer database schema, so + the existing database will need to be upgraded. This can be done using the kea-admin lease-upgrade command. @@ -694,16 +693,16 @@ $ kea-admin lease-init cql -n database-namekea-admin lease-version cql -n database-name (See for a discussion - about versioning) If the version does not match the minimum + about versioning.) If the version does not match the minimum required for the new version of Kea (as described in the release notes), the database needs to be upgraded. Before upgrading, please make sure that the database is - backed up. The upgrade process does not discard any data but, + backed up. The upgrade process does not discard any data, but depending on the nature of the changes, it may be impossible - to subsequently downgrade to an earlier version. To perform + to subsequently downgrade to an earlier version. To perform an upgrade, issue the following command: $ kea-admin lease-upgrade cql -n database-name @@ -725,21 +724,21 @@ $ kea-admin lease-upgrade cql -n database-name
- Limitations Related to the use of SQL Databases + Limitations Related to the Use of SQL Databases
- Year 2038 issue + Year 2038 Issue The lease expiration time is stored in the SQL database for each lease - as a timestamp value. Kea developers observed that MySQL database doesn't + as a timestamp value. Kea developers observed that the MySQL database doesn't accept timestamps beyond 2147483647 seconds (maximum signed 32-bit number) - from the beginning of the epoch. At the same time, some versions of PostgreSQL - do accept greater values but the value is altered when it is read back. - For this reason the lease database backends put the restriction for the + from the beginning of the epoch. Some versions of PostgreSQL + do accept greater values, but the value is altered when it is read back. + For this reason, the lease database backends put a restriction on the maximum timestamp to be stored in the database, which is equal to the maximum signed 32-bit number. This effectively means that the current - Kea version can't store the leases which expiration time is later than + Kea version cannot store leases whose expiration time is later than 2147483647 seconds since the beginning of the epoch (around year 2038). This will be fixed when the database support for longer timestamps is available.