msgid "Detailed instructions for installing Fedora are available at <ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/17/html/Installation_Guide/\">http://docs.fedoraproject.org/en-US/Fedora/17/html/Installation_Guide/</ulink> in a number of languages. The abbreviated version is as follows…"
msgid "Point your browser to <ulink url=\"http://fedoraproject.org/en/get-fedora-all\">http://fedoraproject.org/en/get-fedora-all</ulink>, locate the <literal>Install Media</literal> section and download the install DVD that matches your hardware."
msgid "Burn the disk image to a DVD <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Burning_ISO_images_to_disc/index.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Burning_ISO_images_to_disc/index.html</ulink></para></footnote> and boot from it, or use the image to boot a virtual machine."
msgid "After clicking through the welcome screen, select your language, keyboard layout <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/sn-keyboard-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/sn-keyboard-x86.html</ulink></para></footnote> and storage type <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/Storage_Devices-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/Storage_Devices-x86.html</ulink></para></footnote>"
msgid "Assign your machine a host name. <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/sn-Netconfig-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/sn-Netconfig-x86.html</ulink></para></footnote> I happen to control the clusterlabs.org domain name, so I will use that here."
msgid "When you are presented with the <literal>Configure Network</literal> advanced option, select that option before continuing with the installation process to specify a fixed IPv4 address for <literal>System eth0</literal>. Be sure to also enter the <literal>Routes</literal> section and add an entry for your default gateway."
msgid "If you miss this step, this can easily be configured after installation. You will have to navigate to <literal>system settings</literal> and select <literal>network</literal>. From there you can select what device to configure."
msgid "You will then be prompted to indicate the machine’s physical location <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/s1-timezone-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/s1-timezone-x86.html</ulink></para></footnote> and to supply a root password. <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/sn-account_configuration-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/sn-account_configuration-x86.html</ulink></para></footnote>"
msgid "Now select where you want Fedora installed. <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/s1-diskpartsetup-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/s1-diskpartsetup-x86.html</ulink></para></footnote> As I don’t care about any existing data, I will accept the default and allow Fedora to use the complete drive."
msgid "However, by default it also allocates all free space to the <literal>/</literal> (aka. <literal>root</literal>) partition which cannot be dynamically <emphasis>reduced</emphasis> in size (dynamic increases are fine by-the-way)."
msgid "So if you plan on following the DRBD or GFS2 portions of this guide, you should reserve at least 1Gb of space on each machine from which to create a shared volume. To do so select the <literal>Review and modify partitioning layout</literal> checkbox before clicking <literal>Next</literal>. You will then be given an opportunity to reduce the size of the <literal>root</literal> partition."
msgstr "然而我想为DRBD和GFS2保留一些空间,所以我勾选了Review and modify partitioning layout。然后你将何以root分区的大小了。"
#. Tag: para
#, no-c-format
msgid "Next choose which software should be installed. <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/s1-pkgselection-x86.html\">http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/s1-pkgselection-x86.html</ulink></para></footnote> Change the selection to Minimal so that we see everything that gets installed. Don’t enable updates yet, we’ll do that (and install any extra software we need) later. After you click next, Fedora will begin installing."
msgid "Go grab something to drink, this may take a while."
msgstr "安装Fedora: 去搞点东西喝喝 这需要一段时间。"
#. Tag: para
#, no-c-format
msgid "Once the node reboots, you’ll see a (possibly mangled) login prompt on the console. Login using <literal>root</literal> and the password you created earlier."
msgstr "一旦节点重启,你会在看到登录界面。使用你之前创建的root用户及密码登录。"
#. Tag: phrase
#, no-c-format
msgid "Initial Console"
msgstr "初始化控制台"
#. Tag: para
#, no-c-format
msgid "From here on in we’re going to be working exclusively from the terminal."
msgstr "这是最后一个截屏了,剩下的我们都用命令行来操作。"
#. Tag: title
#, no-c-format
msgid "Post Installation Tasks"
msgstr "安装"
#. Tag: title
#, fuzzy, no-c-format
msgid "Networking"
msgstr "设定网络"
#. Tag: para
#, no-c-format
msgid "Bring up the network and ensure it starts at boot"
msgstr "调出网络并确保主机开机后它会启动"
#. Tag: programlisting
#, no-c-format
msgid ""
"# service network start\n"
"# chkconfig network on"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Check the machine has the static IP address you configured earlier"
msgstr "检查机器拥有你之前配置过的静态IP地址"
#. Tag: programlisting
#, no-c-format
msgid ""
"# ip addr\n"
"1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN\n"
msgid "The console isn’t a very friendly place to work from, we will now switch to accessing the machine remotely via SSH where we can use copy&paste etc."
"Last login: Fri Mar 30 19:41:19 2012 from 192.168.122.1\n"
"[root@pcmk-1 ~]#"
msgstr ""
#. Tag: title
#, no-c-format
msgid "Security Shortcuts"
msgstr "安全提示"
#. Tag: para
#, no-c-format
msgid "To simplify this guide and focus on the aspects directly connected to clustering, we will now disable the machine’s firewall and SELinux installation."
msgid "During installation, we filled in the machine’s fully qualifier domain name (FQDN) which can be rather long when it appears in cluster logs and status output. See for yourself how the machine identifies itself: <indexterm> <primary>Nodes</primary><secondary>short name</secondary> </indexterm> <indexterm> <primary>short name</primary> </indexterm>"
msgid "<indexterm> <primary>Nodes</primary><secondary>Domain name (Query)</secondary> </indexterm> <indexterm> <primary>Domain name (Query)</primary> </indexterm>"
msgstr ""
#. Tag: para
#, no-c-format
msgid "The output from the second command is fine, but we really don’t need the domain name included in the basic host details. To address this, we need to update /etc/sysconfig/network. This is what it should look like before we start."
msgid "However we’re not finished. The machine wont normally see the shortened host name until about it reboots, but we can force it to update."
msgstr "到这里还没结束,机器还没接受新的配置文件,我们强制使它生效。"
#. Tag: programlisting
#, no-c-format
msgid ""
"# source /etc/sysconfig/network\n"
"# hostname $HOSTNAME"
msgstr ""
#. Tag: para
#, no-c-format
msgid "<indexterm> <primary>Nodes</primary><secondary>Domain name (Remove from host name)</secondary> </indexterm> <indexterm> <primary>Domain name (Remove from host name)</primary> </indexterm>"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Now check the machine is using the correct names"
msgstr "现在我们看看是否按达到我们预期的效果:"
#. Tag: programlisting
#, no-c-format
msgid ""
"# uname -n\n"
"pcmk-1\n"
"# dnsdomainname\n"
"clusterlabs.org"
msgstr ""
#. Tag: title
#, no-c-format
msgid "NTP"
msgstr ""
#. Tag: para
#, no-c-format
msgid "It is highly recommended to enable NTP on your cluster nodes. Doing so ensures all nodes agree on the current time and makes reading log files significantly easier. <footnote><para><ulink url=\"http://docs.fedoraproject.org/en-US/Fedora/17/html-single/System_Administrators_Guide/index.html#ch-Configuring_the_Date_and_Time\">http://docs.fedoraproject.org/en-US/Fedora/17/html-single/System_Administrators_Guide/index.html#ch-Configuring_the_Date_and_Time</ulink></para></footnote>"
msgid "Now we need to make sure we can communicate with the machines by their name. If you have a DNS server, add additional entries for the two machines. Otherwise, you’ll need to add the machines to <emphasis>/etc/hosts</emphasis> . Below are the entries for my cluster nodes:"
msgid "SSH is a convenient and secure way to copy files and perform commands remotely. For the purposes of this guide, we will create a key without a password (using the -N option) so that we can perform remote actions without being prompted."
msgid "Unprotected SSH keys, those without a password, are not recommended for servers exposed to the outside world. We use them here only to simplify the demo."
msgid "Now install the cluster software on the second node."
msgstr "在第二个节点上安装集群软件"
#. Tag: title
#, no-c-format
msgid "Install the Cluster Management Software"
msgstr "安装集群管理软件"
#. Tag: para
#, no-c-format
msgid "The pcs cli command coupled with the pcs daemon creates a cluster management system capable of managing all aspects of the cluster stack across all nodes from a single location."
msgstr ""
#. Tag: programlisting
#, no-c-format
msgid "# yum install -y pcs"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Make sure to install the pcs packages on both nodes."
msgstr ""
#. Tag: title
#, no-c-format
msgid "Setup"
msgstr "安装"
#. Tag: title
#, no-c-format
msgid "Enable pcs Daemon"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Before the cluster can be configured, the pcs daemon must be started and enabled to boot on startup on each node. This daemon works with the pcs cli command to manage syncing the corosync configuration across all the nodes in the cluster."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Start and enable the daemon by issuing the following commands on each node."
msgstr ""
#. Tag: programlisting
#, no-c-format
msgid ""
"# systemctl start pcsd.service\n"
"# systemctl enable pcsd.service"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Now we need a way for <literal>pcs</literal> to talk to itself on other nodes in the cluster. This is necessary in order to perform tasks such as syncing the corosync config, or starting/stopping the cluster on remote nodes"
msgstr ""
#. Tag: para
#, no-c-format
msgid "While <literal>pcs</literal> can be used locally without setting up these user accounts, this tutorial will make use of these remote access commands, so we will set a password for the <emphasis>hacluster</emphasis> user. Its probably best if password is consistent across all the nodes."
msgstr ""
#. Tag: para
#, no-c-format
msgid "As <emphasis>root</emphasis>, run:"
msgstr ""
#. Tag: programlisting
#, no-c-format
msgid ""
"# passwd hacluster\n"
"password:"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Alternatively, to script this process or set the password on a different machine to the one you’re logged into, you can use the <literal>--stdin</literal> option for <literal>passwd</literal>:"
msgid "There are several subtle points that often deserve consideration when choosing/assigning multicast addresses. <footnote><para>This information is borrowed from, the now defunct, <ulink url=\"http://web.archive.org/web/20101211210054/http://29west.com/docs/THPM/multicast-address-assignment.html\">http://web.archive.org/web/20101211210054/http://29west.com/docs/THPM/multicast-address-assignment.html</ulink></para></footnote>"
msgid "Traffic to addresses of the form <emphasis>224.0.0.x</emphasis> is often flooded to all switch ports. This address range is reserved for link-local uses. Many routing protocols assume that all traffic within this range will be received by all routers on the network. Hence (at least all Cisco) switches flood traffic within this range. The flooding behavior overrides the normal selective forwarding behavior of a multicast-aware switch (e.g. IGMP snooping, CGMP, etc.)."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Watch for <emphasis>32:1</emphasis> overlap"
msgstr ""
#. Tag: para
#, no-c-format
msgid "32 non-contiguous IP multicast addresses are mapped onto each Ethernet multicast address. A receiver that joins a single IP multicast group implicitly joins 31 others due to this overlap. Of course, filtering in the operating system discards undesired multicast traffic from applications, but NIC bandwidth and CPU resources are nonetheless consumed discarding it. The overlap occurs in the 5 high-order bits, so it’s best to use the 23 low-order bits to make distinct multicast streams unique. For example, IP multicast addresses in the range <emphasis>239.0.0.0</emphasis> to <emphasis>239.127.255.255</emphasis> all map to unique Ethernet multicast addresses. However, IP multicast address <emphasis>239.128.0.0</emphasis> maps to the same Ethernet multicast address as <emphasis>239.0.0.0</emphasis>, <emphasis>239.128.0.1</emphasis> maps to the same Ethernet multicast address as <emphasis>239.0.0.1</emphasis>, etc."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Avoid <emphasis>x.0.0.y</emphasis> and <emphasis>x.128.0.y</emphasis>"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Combining the above two considerations, it’s best to avoid using IP multicast addresses of the form <emphasis>x.0.0.y</emphasis> and <emphasis>x.128.0.y</emphasis> since they all map onto the range of Ethernet multicast addresses that are flooded to all switch ports."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Watch for address assignment conflicts"
msgstr ""
#. Tag: para
#, no-c-format
msgid "<ulink url=\"http://www.iana.org/\">IANA</ulink> administers <ulink url=\"http://www.iana.org/assignments/multicast-addresses\">Internet multicast addresses</ulink>. Potential conflicts with Internet multicast address assignments can be avoided by using <ulink url=\"http://www.ietf.org/rfc/rfc3180.txt\">GLOP addressing</ulink> (<ulink url=\"http://en.wikipedia.org/wiki/Autonomous_system_%28Internet%29\">AS</ulink> required) or <ulink url=\"http://www.ietf.org/rfc/rfc2365.txt\">administratively scoped</ulink> addresses. Such addresses can be safely used on a network connected to the Internet without fear of conflict with multicast sources originating on the Internet. Administratively scoped addresses are roughly analogous to the unicast address space for <ulink url=\"http://www.ietf.org/rfc/rfc1918.txt\">private internets</ulink>. Site-local multicast addresses are of the form <emphasis>239.255.x.y</emphasis>, but can grow down to <emphasis>239.252.x.y</emphasis> if needed. Organization-local multicast addresses are of the form <emphasis>239.192-251.x.y</emphasis>, but can grow down to <emphasis>239.x.y.z</emphasis> if needed."
msgstr ""
#. Tag: para
#, no-c-format
msgid "For a more detailed treatment (57 pages!), see <ulink url=\"http://www.cisco.com/en/US/tech/tk828/technologies_white_paper09186a00802d4643.shtml\">Cisco’s Guidelines for Enterprise IP Multicast Address Allocation</ulink> paper."
msgstr ""
#. Tag: title
#, no-c-format
msgid "Configuring Corosync"
msgstr "配置 Corosync"
#. Tag: para
#, no-c-format
msgid "In the past, at this point in the tutorial an explanation of how to configure and propagate corosync’s /etc/corosync.conf file would be necessary. Using pcs with the pcs daemon greatly simplifies this process by generating <emphasis>corosync.conf</emphasis> across all the nodes in the cluster with a single command. The only thing required to achieve this is to authenticate as the pcs user <emphasis>hacluster</emphasis> on one of the nodes in the cluster, and then issue the <emphasis>pcs cluster setup</emphasis> command with a list of all the node names in the cluster."
msgstr ""
#. Tag: programlisting
#, no-c-format
msgid ""
"# pcs cluster auth pcmk-1 pcmk-2\n"
"Username: hacluster\n"
"Password:\n"
"pcmk-1: Authorized\n"
"pcmk-2: Authorized\n"
"\n"
"# pcs cluster setup mycluster pcmk-1 pcmk-2\n"
"pcmk-1: Succeeded\n"
"pcmk-2: Succeeded"
msgstr ""
#. Tag: para
#, no-c-format
msgid "That’s it. Corosync is configured across the cluster. If you received an authorization error for either of those commands, make sure you setup the <emphasis>hacluster</emphasis> user account and password on every node in the cluster with the same password."
msgstr ""
#. Tag: para
#, no-c-format
msgid "The final /etc/corosync.conf configuration on each node should look something like the sample in Appendix B, Sample Corosync Configuration."
msgstr "最后配置文件应该看起来像下面的样子。"
#. Tag: para
#, no-c-format
msgid "Pacemaker used to obtain membership and quorum from a custom Corosync plugin. This plugin also had the capability to start Pacemaker automatically when Corosync was started."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Neither behavior is possible with Corosync 2.0 and beyond as support for plugins was removed."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Instead, Pacemaker must be started as a separate job/initscript. Also, since Pacemaker made use of the plugin for message routing, a node using the plugin (Corosync prior to 2.0) cannot talk to one that isn’t (Corosync 2.0+)."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Rolling upgrades between these versions are therefor not possible and an alternate strategy <footnote><para><ulink url=\"http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/ap-upgrade.html\">http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/ap-upgrade.html</ulink></para></footnote> must be used."
msgstr ""
#~ msgid "Burn the disk image to a DVD <footnote> <para> <ulink url=\"http://docs.fedoraproject.org/readme-burning-isos/en-US.html\"> http://docs.fedoraproject.org/readme-burning-isos/en-US.html </ulink> </para> </footnote> and boot from it. Or use the image to boot a virtual machine as I have done here. After clicking through the welcome screen, select your language and keyboard layout <footnote> <para> <ulink url=\"http://docs.fedoraproject.org/install-guide/f13/en-US/html/s1-langselection-x86.html\"> http://docs.fedoraproject.org/install-guide/f&DISTRO_VERSION;/en-US/html/s1-langselection-x86.html </ulink> </para> </footnote>"
#~ msgid "The finalized partition layout should look something like the diagram below."
#~ msgstr "完整的分区应该像下面一样。"
#~ msgid "If you plan on following the DRBD or GFS2 portions of this guide, you should reserve at least 1Gb of space on each machine from which to create a shared volume."
#~ msgid "Once the node reboots, follow the on screen instructions <footnote> <para> <ulink url=\"http://docs.fedoraproject.org/install-guide/f13/en-US/html/ch-firstboot.html\"> http://docs.fedoraproject.org/install-guide/f&DISTRO_VERSION;/en-US/html/ch-firstboot.html </ulink> </para> </footnote> to create a system user and configure the time."
#~ msgid "Fedora Installation: Creating a non-privileged user, take note of the password, you'll need it soon"
#~ msgstr "安装Fedora: 创建非特权用户,请注意密码,一会你要用到它的。"
#~ msgid "It is highly recommended to enable NTP on your cluster nodes. Doing so ensures all nodes agree on the current time and makes reading log files significantly easier."
#~ msgid "Fedora Installation: Enable NTP to keep the times on all your nodes consistent"
#~ msgstr "安装Fedora : 启用NTP来保证所有节点时间同步"
#~ msgid "Click through the next screens until you reach the login window. Click on the user you created and supply the password you indicated earlier."
#~ msgid "Fedora Installation: Click the big green button to activate your changes"
#~ msgstr "安装Fedora:点击绿色按钮来应用你的更改"
#~ msgid "Fedora Installation - Bring up the Terminal"
#~ msgstr "安装Fedora - 打开终端"
#~ msgid "Fedora Installation: Down to business, fire up the command line"
#~ msgstr "安装Fedora:开始干活,打开终端"
#~ msgid "Go to the terminal window you just opened and switch to the super user (aka. \"root\") account with the <command>su</command> command. You will need to supply the password you entered earlier during the installation process."
#~ msgid "Next we automatically determine the hosts address. By not using the full address, we make the configuration suitable to be copied to other nodes."
#~ " # Load the Pacemaker Cluster Resource Manager\n"
#~ " name: pacemaker\n"
#~ " ver: 0\n"
#~ "}\n"
#~ "END\n"
#~ " "
#~ msgid "Propagate the Configuration"
#~ msgstr " 传送配置文件"
#~ msgid "Now we need to copy the changes so far to the other node:"
#~ msgstr "然后我们把配置文件拷贝到其他节点:"
#~ msgid ""
#~ "\n"
#~ "[root@pcmk-1 ~]# <userinput>for f in /etc/corosync/corosync.conf /etc/corosync/service.d/pcmk /etc/hosts; do scp $f pcmk-2:$f ; done</userinput>\n"
#~ "corosync.conf 100% 1528 1.5KB/s 00:00\n"
#~ "hosts 100% 281 0.3KB/s 00:00\n"
#~ "[root@pcmk-1 ~]#\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "[root@pcmk-1 ~]# <userinput>for f in /etc/corosync/corosync.conf /etc/corosync/service.d/pcmk /etc/hosts; do scp $f pcmk-2:$f ; done</userinput>\n"
#~ msgid "and boot from it. Or use the image to boot a virtual machine as I have done here. After clicking through the welcome screen, select your language and keyboard layout"