Author: jstephens
Date: 2006-10-27 18:59:15 +0200 (Fri, 27 Oct 2006)
New Revision: 3773
Log:
Moved Cluster Filesystem section into NDB Internals doc.
Obtained parameter value data for ALL DUMP (need to mark up).
Added:
trunk/internals/images/ndbcluster-disk-data-files.png
Removed:
trunk/refman-5.1/images/disk-data-files.png
trunk/refman-5.1/mysql-cluster-filesystems.xml
Modified:
trunk/internals/ndbcluster.xml
Property changes on: trunk/internals/images/ndbcluster-disk-data-files.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/internals/images/ndbcluster-disk-data-files.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 337 bytes
Modified: trunk/internals/ndbcluster.xml
===================================================================
--- trunk/internals/ndbcluster.xml 2006-10-27 15:53:03 UTC (rev 3772)
+++ trunk/internals/ndbcluster.xml 2006-10-27 16:59:15 UTC (rev 3773)
Changed blocks: 4, Lines Added: 490, Lines Deleted: 0; 16094 bytes
@@ -15,6 +15,355 @@
useful for development and debugging purposes.
</para>
+ <section id="ndbcluster-filesystems">
+
+ <title>MySQL Cluster Filesystems</title>
+
+ <para>
+ This section contains information about the filesystems created
+ and used by MySQL Cluster data nodes and management nodes.
+ </para>
+
+ <section id="ndbcluster-ndbd-filesystem">
+
+ <title>Cluster Data Node Filesystem</title>
+
+ <para>
+ This section discusses the files and directories created by
+ MySQL Cluster nodes, their usual locations, and their purpose.
+ </para>
+
+ <section id="ndbcluster-ndbd-datadir-files">
+
+ <title>Cluster Data Node <literal>DataDir</literal> Files</title>
+
+ <para>
+ A cluster data node's <literal>DataDir</literal> contains at a
+ minimum 3 files. These are named as shown here, where
+ <replaceable>node_id</replaceable> is the node ID:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <filename>ndb_<replaceable>node_id</replaceable>_out.log</filename>
+ </para>
+
+ <para>
+ Sample output:
+ </para>
+
+<programlisting>
+2006-09-12 20:13:24 [ndbd] INFO -- Angel pid: 13677 ndb pid: 13678
+2006-09-12 20:13:24 [ndbd] INFO -- NDB Cluster -- DB node 1
+2006-09-12 20:13:24 [ndbd] INFO -- Version 5.1.12 (beta) --
+2006-09-12 20:13:24 [ndbd] INFO -- Configuration fetched at localhost port 1186
+2006-09-12 20:13:24 [ndbd] INFO -- Start initiated (version 5.1.12)
+2006-09-12 20:13:24 [ndbd] INFO -- Ndbd_mem_manager::init(1) min: 20Mb initial: 20Mb
+WOPool::init(61, 9)
+RWPool::init(82, 13)
+RWPool::init(a2, 18)
+RWPool::init(c2, 13)
+RWPool::init(122, 17)
+RWPool::init(142, 15)
+WOPool::init(41, 8)
+RWPool::init(e2, 12)
+RWPool::init(102, 55)
+WOPool::init(21, 8)
+Dbdict: name=sys/def/SYSTAB_0,id=0,obj_ptr_i=0
+Dbdict: name=sys/def/NDB$EVENTS_0,id=1,obj_ptr_i=1
+m_active_buckets.set(0)
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ndb_<replaceable>node_id</replaceable>_signal.log</filename>
+ </para>
+
+ <para>
+ This file contains a log of all signals sent to or from
+ the data node.
+ </para>
+
+ <para>
+ <emphasis role="bold">Note</emphasis>: This file is
+ created only if the
+ <link linkend="mysql-cluster-param-tcp-definition-sendsignalid"><literal>SendSignalId</literal></link>
+ parameter is enabled, which is true only for
+ <literal>-debug</literal> builds.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ndb_<replaceable>node_id</replaceable>.pid</filename>
+ </para>
+
+ <para>
+ This file contains the data node's process ID; it is
+ created when the <command>ndbd</command> process is
+ started.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ The location of these files is determined by the value of the
+ <literal>DataDir</literal> configuration parameter. See
+ <link linkend="mysql-cluster-param-ndbd-definition-datadir"><literal>DataDir</literal></link>.
+ </para>
+
+ </section>
+
+ <section id="ndbcluster-ndbd-filesystemdir-files">
+
+ <title>Cluster Data Node <literal>FileSystemDir</literal> Files</title>
+
+ <para>
+ This directory is named
+ <filename>ndb_<replaceable>nodeid</replaceable>_fs</filename>,
+ where <replaceable>nodeid</replaceable> is the data node's
+ node ID. It contains the following files and directories:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Files</emphasis>:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <filename>data-<replaceable>nodeid</replaceable>.dat</filename>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>undo-<replaceable>nodeid</replaceable>.dat</filename>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Directories</emphasis>:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <filename>LCP</filename>: This directory holds 3
+ subdirectories, named <filename>0</filename>,
+ <filename>1</filename>, and <filename>2</filename>,
+ which contain local checkpoint datafiles (one per
+ checkpoint — see
+ <xref linkend="mysql-cluster-config-lcp-params"/>).
+ </para>
+
+ <para>
+ These subdirectories each contain a number of files
+ whose names follow the pattern
+ <filename>T<replaceable>N</replaceable>F<replaceable>M</replaceable>.Data</filename>,
+ where <replaceable>N</replaceable> is a table ID and
+ and M is a fragment number. For each table, there are
+ <link linkend="mysql-cluster-param-ndbd-definition-nooffragmentlogfiles"><literal>NoOfFragmentLogFiles</literal></link>
+ fragments, and thus that many files.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Directories named <filename>D1</filename> and
+ <filename>D2</filename>, each of which contains 2
+ subdirectories:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <filename>DBDICT</filename>: Contains data
+ dictionary information. This is stored in:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The file <filename>P0.SchemaLog</filename>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A set of directories <filename>T0</filename>,
+ <filename>T1</filename>,
+ <filename>T2</filename>, ..., each of which
+ contains an <filename>S0.TableList</filename>
+ file.
+
+ <remark role="todo">
+ This file ... .
+ </remark>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ Directories named <filename>D8</filename>,
+ <filename>D9</filename>, <filename>D10</filename>,
+ and <filename>D11</filename>, each of which
+ contains a directory named
+ <filename>DBLQH</filename>. In each case, the
+ <filename>DBLQH</filename> directory contains 8
+ files named <filename>S0.Fraglog</filename>,
+ <filename>S1.FragLog</filename>, ...,
+ <filename>S6.FragLog</filename>,
+ <filename>S7.FragLog</filename>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <remark role="todo">
+ [js] Fix path to Sysfile.hpp for 4.1/5.0 in
+ following para.
+ </remark>
+
+ <para>
+ <filename>DBDIH</filename>: This directory
+ contains the file
+ <filename>P<replaceable>X</replaceable>.sysfile</filename>,
+ which records information such as the last GCI,
+ restart status, and node group membership of each
+ node; its structure is defined in
+ <filename>storage/ndb/src/kernel/blocks/dbdih/Sysfile.hpp</filename>
+ in the MySQL source tree. In addition, the
+ <filename>S<replaceable>X</replaceable>.FragList</filename>
+ files keep records of the fragments belonging to
+ each table.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ <section id="ndbcluster-ndbd-backupdatadir-files">
+
+ <title>Cluster Data Node <literal>BackupDataDir</literal> Files</title>
+
+ <para>
+ MySQL Cluster creates backup files in the directory specified
+ by the <literal>BackupDataDir</literal> configuration
+ parameter, as discussed in
+ <xref linkend="mysql-cluster-backup-using-management-client"/>,
+ and
+ <link linkend="mysql-cluster-identifying-data-nodes">Identifying
+ Data Nodes</link>.
+ </para>
+
+ <para>
+ The files created when a backup is performed are listed and
+ described in <xref linkend="mysql-cluster-backup-concepts"/>.
+ </para>
+
+ </section>
+
+ <section id="ndbcluster-disk-data-files">
+
+ <title>Cluster Disk Data Files</title>
+
+ <note>
+ <para>
+ This section applies only to MySQL 5.1 and later. Previous
+ versions of MySQL did not support Disk Data tables.
+ </para>
+ </note>
+
+ <para>
+ MySQL Cluster Disk Data files are created (or dropped) by the
+ user by means of SQL statements intended specifically for this
+ purpose. Such files include the following:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ One or more <firstterm>undo logfiles</firstterm>
+ associated with a <firstterm>logfile group</firstterm>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ One or more <firstterm>datafiles</firstterm> associated
+ with a <firstterm>tablespace</firstterm> that uses the
+ logfile group for undo logging
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Both undo logfiles and datafiles are created in the data
+ directory (<literal>DataDir</literal>) of each cluster data
+ node. The relationship of these files with their logfile group
+ and tablespace are shown in the following diagram:
+ </para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ndbcluster-disk-data-files.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase lang="en">MySQL Cluster Disk Data Files (Tablespace,
+ Datafiles; Logfile Group, Undo Files)</phrase>
+ </textobject>
+ </mediaobject>
+
+ <para>
+ Disk Data files and the SQL commands used to create and drop
+ them are discussed in depth in
+ <xref linkend="mysql-cluster-disk-data"/>.
+ </para>
+
+ </section>
+
+ </section>
+
+ <section id="ndbcluster-mgmd-filesystem">
+
+ <title>Cluster Management Node Filesystem</title>
+
+ <para>
+ The files used by a MySQL Cluster management node are discussed
+ in <xref linkend="mysql-cluster-ndb-mgmd-process"/>.
+ </para>
+
+ </section>
+
+ </section>
+
<section id="ndbcluster-all-dump-command">
<title>The <literal>ALL DUMP</literal> Command</title>
@@ -72,6 +421,120 @@
</para>
<para>
+ Syntax:
+ </para>
+
+<programlisting>
+ndb_mgm> <userinput>ALL DUMP <replaceable>code</replaceable></userinput>
+</programlisting>
+
+ <para>
+ This causes the contents of various <literal>NDB</literal>
+ registers to be dumped to the Cluster log. The registers are
+ determined by the value of <replaceable>code</replaceable>.
+ Possible values are shown in the following table:
+ </para>
+
+ <remark role="todo">
+ [js] Mark up as informaltable, get explanations where missing, put
+ in numerical (code) order.
+ </remark>
+
+ <remark role="note">
+ Source: storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp
+ </remark>
+
+<programlisting>
+CommitAckMarkersSize = 14, // TC+LQH Dump free size in commitAckMarkerP
+CommitAckMarkersDump = 15, // TC+LQH Dump info in commitAckMarkerPool
+DihDumpNodeRestartInfo = 16, // 16 DIH Dump node restart info
+DihDumpNodeStatusInfo = 17,// 17 DIH Dump node status info
+DihPrintFragmentation = 18,// 18 DIH Print fragmentation
+// 19 NDBFS Fipple with O_SYNC, O_CREATE etc.
+// 20-24 BACKUP
+NdbcntrTestStopOnError = 25,
+NdbcntrStopNodes = 70,
+// 100-105 TUP and ACC
+// 200-240 UTIL
+// 300-305 TRIX
+NdbfsDumpFileStat = 400,
+NdbfsDumpAllFiles = 401,
+NdbfsDumpOpenFiles = 402,
+NdbfsDumpIdleFiles = 403,
+// 1222-1225 DICT
+LqhDumpAllDefinedTabs = 1332,
+LqhDumpNoLogPages = 1333,
+LqhDumpOneScanRec = 2300,
+LqhDumpAllScanRec = 2301,
+LqhDumpAllActiveScanRec = 2302,
+LqhDumpLcpState = 2303,
+LqhErrorInsert5042 = 2315,
+
+AccDumpOneScanRec = 2400,
+AccDumpAllScanRec = 2401,
+AccDumpAllActiveScanRec = 2402,
+AccDumpOneOperationRec = 2403,
+AccDumpNumOpRecs = 2404,
+AccDumpFreeOpRecs = 2405,
+AccDumpNotFreeOpRecs = 2406,
+DumpPageMemory = 1000, // ACC & TUP
+TcDumpAllScanFragRec = 2500,
+TcDumpOneScanFragRec = 2501,
+TcDumpAllScanRec = 2502,
+TcDumpAllActiveScanRec = 2503,
+TcDumpOneScanRec = 2504,
+TcDumpOneApiConnectRec = 2505,
+TcDumpAllApiConnectRec = 2506,
+TcSetTransactionTimeout = 2507,
+TcSetApplTransactionTimeout = 2508,
+StartTcTimer = 2509,
+StopTcTimer = 2510,
+StartPeriodicTcTimer = 2511,
+TcStartDumpIndexOpCount = 2512,
+TcDumpIndexOpCount = 2513,
+CmvmiDumpConnections = 2600,
+CmvmiDumpLongSignalMemory = 2601,
+CmvmiSetRestartOnErrorInsert = 2602,
+CmvmiTestLongSigWithDelay = 2603,
+
+LCPContinue = 5900,
+// 7000 DIH
+// 7001 DIH
+// 7002 DIH
+// 7003 DIH
+// 7004 DIH
+// 7005 DIH
+// 7006 DIH
+// 7006 DIH
+// 7007 DIH
+// 7008 DIH
+// 7009 DIH
+// 7010 DIH
+// 7011 DIH
+// 7012 DIH
+DihDumpLCPState= 7013,
+DihDumpLCPMasterTakeOver = 7014,
+// 7015 DIH
+DihAllAllowNodeStart = 7016,
+DihMinTimeBetweenLCP = 7017,
+DihMaxTimeBetweenLCP = 7018,
+// 7019
+// 7020
+// 7021
+EnableUndoDelayDataWrite = 7080, // DIH+ACC+TUP
+DihSetTimeBetweenGcp = 7090,
+DihStartLcpImmediately = 7099,
+// 8000 Suma
+// 12000 Tux
+TuxLogToFile = 12001,
+TuxSetLogFlags = 12002,
+TuxMetaDataJunk = 12009,
+DumpTsman = 9002,
+DumpLgman = 10000,
+DumpPgman = 11000
+</programlisting>
+
+ <para>
(For information concerning other ndb_mgm client commands, see
<xref linkend="mysql-cluster-mgm-client-commands"/>.)
</para>
@@ -103,6 +566,22 @@
<listitem>
<para>
+ <emphasis role="bold">DIH</emphasis>
+ </para>
+
+ <para></para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">LQH</emphasis>
+ </para>
+
+ <para></para>
+ </listitem>
+
+ <listitem>
+ <para>
<emphasis role="bold"><literal>SUMA</literal></emphasis>
</para>
@@ -115,6 +594,17 @@
<listitem>
<para>
+ <emphasis role="bold">TC</emphasis>
+ </para>
+
+ <para>
+ <emphasis role="bold">T</emphasis>ransaction
+ <emphasis role="bold">C</emphasis>o-ordinator
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<emphasis role="bold"><literal>Tsman</literal></emphasis>
</para>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r3773 - in trunk: internals internals/images refman-5.1 refman-5.1/images | jon | 27 Oct |