TAS Overview
This chapter describes the basic concepts and functions of Tibero Active Storage.
Overview
TAS manages disk devices without an external solution. TAS acts as a file system and a logical volume manager that stores the data files and log files required for running Tibero. TAS provides a clustering function that can use the Tibero Active Cluster (hereafter TAC) function when using a shared disk.
Tibero Active Storage (TAS) manages disk devices without an external solution. TAS acts as a file system and a logical volume manager that stores the data files and log files required for running Tibero. TAS provides a clustering function that can use the Tibero Active Cluster (TAC) function when using a shared disk.
TAS manages multiple disks in a disk space. A disk space is similar to a file system on top of a logical volume, and Tibero stores files in such a disk space. Disks can be added or removed when using a disk space to run Tibero.
When adding or removing a disk, TAS automatically redistributes the stored data so that all disks in a disk space can be utilized evenly and no data is lost.
TAS provides a mirroring function for data in Tibero. TAS supports two mirroring methods: the two-way method (NORMAL option) and the three-way method (HIGH option). If a separate mirroring solution is used, then the TAS mirroring function can be avoided (EXTERNAL option).
Concepts of TAS
This section describes the core concepts required for understanding TAS.
TAS Instance
TAS Disk Space
Mirroring and Failure Groups
TAS Disk
TAS File
TAS Instance
TAS is based on Tibero. The running processes of a TAS instance are almost identical to those of Tibero's. However, TAS runs fewer tasks than a database and thus consumes fewer system resources.
TAS stores and manages metadata, which records disk space and file information, in the first disk space. TAS metadata stores the following information.
Disks in a disk space.
Space available in a disk space.
File names in a disk space.
File extent information.
A log for TAS metadata.
The following diagram shows the relationship of a TAS instance with Tibero and a disk.
Tibero does not read and write a file by using TAS. Instead, it directly reads and writes to the disk by using the file's metadata, which is retrieved from TAS.
TAS provides a clustering function for using a shared disk. Only one Tibero instance can use a disk space. In order for multiple Tibero instances to use a disk space, the instances must be configured in TAC.
The following describes the configuration of Tibero and TAS using the cluster function.
TAS Disk Space
A disk space is composed of multiple disks. Each disk space stores metadata (needed for managing the disk space) and the files used in the database.
Mirroring and Failure Groups
TAS provides a mirroring function for data stored in a disk space. The function copies data and stores it in multiple disks and then protects it. To use the mirroring function, the following redundancy levels are available when creating a disk space.
NORMAL
2-way mirroring
HIGH
3-way mirroring
EXTERNAL
No mirroring
When TAS allocates an extent for a mirrored file, multiple extents (2 or 3) are allocated according to the file's redundancy level. The disk of each allocated extent is stored in a separate failure group. As a result, if an error occurs in a disk included in a failure group or in an entire failure group, no data is lost and continuous service for the disk space can be provided.
A failure group is defined when creating a disk space, and the redundancy level, which is set when a disk space is created, cannot be later modified. If a failure group is not defined, then each disk is automatically defined as a failure group. A disk space with redundancy level of NORMAL or HIGH, must define 2 or 3 failure groups. A disk space with a redundancy level of EXTERNAL does not use failure groups. To efficiently use disk space, set similar disk space for each failure group.
TAS Disk
TAS can use the following disk devices as a TAS disk.
Entire disk
Disk partition
Logical volume
The privilege issue for disks or physical volumes can be resolved by creating a device node with udev.
For disks partitioned into LUNs from scratch in SAN storage, you can configure a TAS cluster without clustering software and GFS2.
When configuring a TAS cluster, a disk set with a different name on each node can be used as a TAS disk. For example, a disk without CLVM can be seen as '/dev/hdisk1' on node 1 and '/dev/hdisk2' on node 2, and a database can be configured in a such environment as long as TAS is configured. Since disk string is used to search for a TAS disk, the 'disk/raw device' must be set so that it is visible to all the nodes in the cluster.
TAS distributes file information evenly across all disks in a disk space. This allocation method ensures equal usage of disk space and allows all disks in a disk space to have the same I/O load. TAS balances the load among all disks in a disk space. Therefore, different TAS disks must not share the same physical disk device.
When configuring a logical volume with RAID, it is recommended to set the striping size to a multiple of the AU size of TAS. This helps increase performance by aligning the disk's striping size with that of TAS.
Allocation Units
Each disk space is divided into allocation units. An allocation unit is the basic unit of allocation in a disk space. A file extent uses one or more allocation units, and a file uses one or more extents. The allocation unit size can be set in the AU_SIZE property when creating a disk space.
The configurable values are 1, 2, 4, 8, 16, 32, and 64MB.
TAS File
A file stored in a TAS disk space is called a TAS file. Tibero requests the file information from TAS, similar to the way Tibero uses files in a file system.
The name of a TAS file is in the "+{disk space name}/..."format. It is not included in the file information and is managed as an alias.
Extent
TAS files are stored in a disk space as a set of extents. Each extent is stored in each disk of a disk space, and each extent uses one or more allocation units. To support large-sized files, TAS uses variable size extents, which reduces the memory required for maintaining file extent information.
The extent size automatically increases when the file size increases. If the file size is small, the disk space's allocation unit (hereafter AU) matches the extent size. When the file size increases, the extent size increases to 4AU or 16AU.
The extent size varies as follows:
Under 20,000
1AU
20,000 ~ 40,000
4AU
Over 40,000
16AU
The following shows the relationship between extents and allocation units.
TAS Process
Using TAS requires to execute the Active Storage Service Daemon (ASSD) process.
The ASSD process allows communication between TAC and TAS, and it has the following threads.
COMM
Processes messages that ASSD control thread receives. It sends a message of requesting information in a database, or processes a request and returns
the result in TAS.
DMON
Continuously checks whether a disk is accessible. If it fails more than specific times, it is treated as FAIL. If the access becomes possible, this thread processes resynchronization. This thread executes in a single node among TAS nodes. The node is called TAS master node. If the mast node fails,
another node becomes a master node.
RBAL
Creates tasks required for rebalancing and sends them to the RBSL thread.
RBSL
Receives tasks required for rebalancing from the RBAL thread and processes
them.
Last updated